参考文档:http://docs.pgbarman.org/release/2.5/index.html
概述
Barman是使用Python编写的PostgreSQL开源备份和恢复管理器
功能
- 多种备份方式集成
- 备份文件的管理
流备份技术和工具
- pg_basebackup:用于数据库全量备份
- pg_receivewal/pg_receivexlog:用于基于全量对WAL增量备份,可实现很低的数据丢失时间
- archive_command:WAL文件切换(写满指定大小或到达指定切换周期)时传递归档日志到备份服务器,有一定的数据丢失时间
- rsync:基于块复制进行备份
Barman支持1+2或1+2+3多种备份方式
备份机制
流协议备份
支持PostgreSQL 9.4或更高版本,一般建议使用流协议备份
也可以同时使用WAL流和归档进行备份
rsync/SSH备份
以下情况时只能使用rsync/SSH备份
- PostgreSQL服务器版本8.3,8.4,9.0或9.1
- 使用表空间的PostgreSQL服务器版本9.2或9.3
- 增量备份,并行备份和重复数据删除
- 备份期间的网络压缩
- 更好地控制带宽使用,包括基于表空间
从PostgreSQL 9.2开始,您可以添加用于WAL流的流复制连接,并显着减少RPO,如下图