我目前使用pg_dump
管道到gzip
管道到split
。但問題在於所有輸出文件總是被更改。所以基於校驗和的備份總是複製所有數據。PostgreSQL增量備份的最佳方法
是否有任何其他好的方法來執行PostgreSQL數據庫的增量備份,其中可以從備份數據恢復完整的數據庫?
例如,如果pg_dump
可以使所有內容都絕對有序,那麼所有更改僅應用於轉儲結束時或類似內容。
我目前使用pg_dump
管道到gzip
管道到split
。但問題在於所有輸出文件總是被更改。所以基於校驗和的備份總是複製所有數據。PostgreSQL增量備份的最佳方法
是否有任何其他好的方法來執行PostgreSQL數據庫的增量備份,其中可以從備份數據恢復完整的數據庫?
例如,如果pg_dump
可以使所有內容都絕對有序,那麼所有更改僅應用於轉儲結束時或類似內容。
更新:Check out Barman爲更簡單的方法來設置WAL歸檔備份。可以使用PostgreSQL's continuous WAL archiving方法。首先,您需要設置wal_level=archive
,然後執行完整的文件系統級備份(在發出pg_start_backup()
和pg_stop_backup()
命令之間),然後通過配置archive_command
選項來複制較新的WAL文件。
優點:
缺點:
現在就自己玩這個遊戲,發現即使在windows上(儘管大多數文檔都是linux重量級),這對Barman來說沒有工具 – 2012-04-03 21:31:29
+1,因爲它提供了一個很好的開箱即用的解決方案。 – 2014-08-01 08:23:16
Pinging for any updates/more recent developments。 – 2015-07-30 20:51:32
另一種方法是備份到純文本並使用rdiff創建增量差異。
無法想象爲5G數據庫做到這一點,更不用說50G的數據庫了。 – Jerry 2012-05-09 14:00:32
在過去使用數據目錄本身的快照時,我已經將它用在比50G更大的dbs上。但是,是的,一旦簡單的測試備份開始變得龐大而笨拙,使用其他方法是一個好主意。 – 2012-05-10 02:24:48
我不知道barman是如何工作的,但據我所知,WAL歸檔並不保存索引(http://www.postgresql.org/docs/9.2/static/continuous-archiving.html#CONTINUOUS-ARCHIVING-告誡)。 – Bladt 2014-09-12 20:45:36
pgBackrest是PostgreSQL的另一個備份工具,你應該評估,因爲它支持:
如何從待機狀態備份?我有/etc/pgbackrest.conf指出backup-standby = y,archive-async = y和remotebacup ini配置標籤,其中包含db-port = 5433和db-host = lanip(192.168.0.3)。每次調用/ opt/perlroot/bin/perl/opt/perlroot/bin/pgbackrest --stanza = remotebackup stanza-create時出錯124遠程進程終止於192.168.0.3退出狀態255:Permission denied public key。但奇怪的從備用sudo -u postgres ssh 192.168.0.3調用工作正常。添加cmd-ssh =/usr/bin/sudo -u postgres/usr/bin/ssh -vv也無法工作:( – user3453753 2017-01-28 06:22:51
從備用備份包含在pgbackrest文檔中,主要涉及在備份中設置副本pgbackrest.conf文件。至於您的權限被拒絕的問題,我無法真正對其說話,但您的系統可能在您的SSH密鑰上存在配置錯誤。 – 2017-12-19 19:02:07
你有沒有發現在S備份olution?我也有相同的要求,即在PostgreSQL中進行增量備份。我經歷了許多文章和網站,但我找不到在PostgreSQL中進行增量備份的明確方法。 PostgreSQL是否支持獨立的增量備份,沒有像pg rman這樣的第三方工具?請幫助我。謝謝。 – Suniel 2016-07-03 17:13:17