我目前正在使用pg_dump
用{pi} gzip
管道传输到split
。但问题是所有输出文件总是被更改。因此,基于校验和的备份始终会复制所有数据。
是否有其他好方法可以对PostgreSQL数据库进行增量备份,从而可以从备份数据中恢复完整数据库?
例如,如果pg_dump
可以使所有内容完全排序,那么所有更改仅在转储结束时应用,或者类似。
答案 0 :(得分:54)
更新 Check out Barman,以便更轻松地设置WAL存档进行备份。
您可以使用PostgreSQL's continuous WAL archiving方法。首先,您需要设置wal_level=archive
,然后执行完整的文件系统级备份(在发出pg_start_backup()
和pg_stop_backup()
命令之间),然后通过配置{{1}来复制更新的WAL文件选项。
优点:
缺点:
答案 1 :(得分:7)
pgBackrest是PostgreSQL的另一个备份工具,您应该在它支持时进行评估:
答案 2 :(得分:1)
另一种方法是备份到纯文本并使用rdiff创建增量差异。