postgresql 备份整个集群

示例

$ pg_dumpall -f backup.sql

通过为每个数据库建立一次与服务器的多个连接并pg_dump在其上执行,该操作在后台进行。

有时,您可能会倾向于将其设置为cron作业,因此您想查看备份作为文件名一部分的日期:

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

但是,请注意,这可能会每天产生大量文件。Postgresql具有更好的常规备份机制-WAL档案

pg_dumpall的输出足以还原到配置相同的Postgres实例,但是$PGDATA(pg_hba.conf和postgresql.conf)中的配置文件不是备份的一部分,因此您必须分别备份它们。

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

要进行文件系统备份,必须使用这些功能来帮助确保在准备备份时Postgres处于一致状态。