備份整個群集

$ pg_dumpall -f backup.sql

這在幕後工作,通過為每個資料庫多次連線到伺服器並在其上執行 pg_dump

有時,你可能想要將其設定為 cron 作業,因此你希望將備份的日期視為檔名的一部分:

$ postgres-backup-$(date +%Y-%m-%d).sql

但請注意,這可能會每天生成大型檔案。Postgresql 有一個更好的定期備份機制 - WAL 檔案

pg_dumpall 的輸出足以恢復到配置相同的 Postgres 例項,但 $PGDATApg_hba.confpostgresql.conf)中的配置檔案不是備份的一部分,因此你必須單獨備份它們。

postgres=# SELECT pg_start_backup('my-backup');
postgres=# SELECT pg_stop_backup();

要進行檔案系統備份,必須使用這些功能來幫助確保在準備備份時 Postgres 處於一致狀態。