Postgresql
從屬伺服器上的 postgreSQL hot_standby pg_dump
我有主從(hot_standby)pgsql 配置,我想從我的一個從屬伺服器進行備份。我不想要 PITR,只是好的舊數據庫轉儲。
我從 MySQL 切換到 postgres。使用 MySQL 複製,我通過以下步驟從從站進行備份:
stop slave;
- 履行
mysqldump
start slave
我可以用 postgres 做類似的事情嗎?
我在奴隸上試過
pg_dump
,但它返回錯誤:pg_dump: Dumping the contents of table "news_event" failed: PQgetResult() failed. pg_dump: Error message from server: ERROR: canceling statement due to conflict with recovery DETAIL: User query might have needed to see row versions that must be removed.
此外,
pg_dump
在主伺服器上執行良好,因此我可以在主伺服器上進行備份,但我更喜歡在從伺服器上進行備份。
跑吧
pg_dump
。文件說:
pg_dump
是用於備份 PostgreSQL 數據庫的實用程序。即使同時使用數據庫,它也會進行一致的備份。pg_dump
不會阻止其他使用者訪問數據庫(讀取器或寫入器)。反過來,您在從站上看到的數據庫狀態也是一致的。如果複製有相當長的延遲,則結果可能與來自主伺服器的轉儲略有不同。
根據這個電子郵件執行緒,似乎從奴隸轉儲需要PostgreSQL v9.1並
hot_standby_feedback
啟用設置(可能還有其他設置)。希望隨著更新版本的改進,它會變得更容易/更簡單。