[英]Error from postgresql 9.0 archiving while configuring hot streaming replication
我試圖在postgresql 9.0上運行流復制。 我按照鏈接中提到的步驟進行操作: http : //brandonkonkle.com/blog/2010/oct/20/postgres-9-streaming-replication-and-django-balanc/
當我嘗試在postgresql上執行歸檔命令時,我收到警告,要求我無休止地等待。 我按以下順序執行命令:
SELECT pg_start_backup('base_backup');
cd /var/lib/postgresql/9.0/
sudo tar -cjf ~/postgres-data.tar.bz2 main
SELECT pg_stop_backup();
為此,我得到以下輸出:
NOTICE: pg_stop_backup cleanup done, waiting for required WAL segments to be archived
WARNING: pg_stop_backup still waiting for all required WAL segments to be archived (60 seconds elapsed)
HINT: Check that your archive_command is executing properly. pg_stop_backup can be cancelled safely, but the database backup will not be usable without all the WAL segments.
WARNING: pg_stop_backup still waiting for all required WAL segments to be archived (120 seconds elapsed)
HINT: Check that your archive_command is executing properly. pg_stop_backup can be cancelled safely, but the database backup will not be usable without all the WAL segments.
這繼續保持下去,警告永遠不會結束。 如果有人遇到這個問題,請告訴我。
您能否查看WAL存檔文件所在文件夾的權限。 這可能是擁有數據庫的用戶對該文件夾沒有寫入權限的問題,這就是為什么它無法在該文件夾中寫入WAL文件的原因。 請使用chmod並更改該文件夾的權限。 這可能會解決問題。
問候。
您已按照指定的鏈接中所述設置了archive_command
? 它實際上是否正確地將xlog文件復制到安全位置? 服務器的輸出表明它不是,而且積壓正在pg_xlog
我似乎記得你實際上並不需要在服務器上啟用存檔以將其用作副本中的主服務器。 你需要有wal_level
設置為hot_standby
。 有了這個設置,您的副本就可以連接到主服務器以獨立於傳統的xlog存檔過程流式傳輸xlog記錄。 所以嘗試設置archive_mode=off
。
編輯:更詳細地閱讀鏈接,您需要設置archive_mode來創建基本備份,這是有道理的。 因此,要么修復存檔命令,以便正確執行基本備份,要么在服務器停止時進行基本備份。
如果您只是想在第9頁中使用新的SR,請不要使用歸檔。 起初我也遇到了問題。 我寫了一個沒有歸檔的准系統設置教程,它將一個主人復制到一個奴隸: http : //eggie5.com/15-setting-up-pg9-streaming-replication
另外,請檢查您是否沒有archive_command
嘗試復制的現有wal文件,這會阻止它編寫wal文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.