我目前使用的是pg_dump
到gzip
的管道到split
的管道.但问题是,所有输出文件都会更改.所以基于校验和的备份总是复制所有数据.
有没有其他好方法可以执行PostgreSQL数据库的增量备份,从备份数据中恢复完整的数据库?
例如,如果pg_dump
可以使所有内容都绝对有序,那么所有更改只应用于转储的末尾,或者类似的地方.
我目前使用的是pg_dump
到gzip
的管道到split
的管道.但问题是,所有输出文件都会更改.所以基于校验和的备份总是复制所有数据.
有没有其他好方法可以执行PostgreSQL数据库的增量备份,从备份数据中恢复完整的数据库?
例如,如果pg_dump
可以使所有内容都绝对有序,那么所有更改只应用于转储的末尾,或者类似的地方.
Update: Check out Barman提供了一种更简单的备份方式.
你可以使用PostgreSQL's continuous WAL archiving法.首先需要设置wal_level=archive
,然后执行完整的文件系统级备份(在发出pg_start_backup()
和pg_stop_backup()
命令之间),然后通过配置archive_command
选项复制较新的WAL文件.
优势:
缺点: