2016 年 2 月 29 日: 2ndQuadrant 自豪地宣布发布 PostgreSQL 的备份和恢复管理器 Barman 的 1.6.0 版本。
此重大版本引入了 WAL 流式传输支持,通过将恢复点目标持续降低到接近 0,从而提高了基于 Barman 的 PostgreSQL 备份解决方案的灾难恢复能力。目前,Barman 仍然需要基于 PostgreSQL 的“archive_command”的标准 WAL 归档。一旦 Barman 支持复制槽(PostgreSQL 9.4 及更高版本可用),此限制将被取消。
Barman 1.6.0 还引入了对 pigz 压缩以及 Python 原生 gzip 和 bzip2 压缩算法的支持。
还修复了一些次要的 bug。
有关更改的完整列表,请参阅下面的“发行说明”部分。
支持通过“streaming_conninfo”服务器选项进行流复制连接
支持“streaming_archiver”选项,该选项允许 Barman 通过 PostgreSQL 的原生流协议接收 WAL 文件。当设置为“on”时,它依赖于“pg_receivexlog”来接收 WAL 数据,从而降低恢复点目标。目前,WAL 流式传输是一项附加功能(仍然需要标准日志归档)
实现“receive-wal”命令,当“streaming_archiver”开启时,它会包装“pg_receivexlog”以进行 WAL 流式传输。添加“--stop”选项以停止通过流协议接收 WAL 文件。添加“--reset”选项以重置流状态并从 Postgres 中的当前 xlog 重新开始。
通过“cron”命令自动管理(启动和停止)“receive-wal”命令
支持“path_prefix”配置选项
引入“archiver”选项(目前固定为“on”),该选项通过 PostgreSQL 的“archive_command”进行日志传输,为特定服务器启用连续 WAL 归档
支持“streaming_wals_directory”和“errors_directory”选项
管理“archive-wal”命令中的 WAL 重复项,并与“check”命令集成
当启用“streaming_archiver”时,验证“pg_receivexlog”是否在“check”命令中运行
验证“check”命令中是否存在失败的备份
接受传入目录中的压缩 WAL 文件
添加对 pigz 压缩器的支持(感谢 Stefano Zacchiroli)
实现 pygzip 和 pybzip2 压缩器(基于 Christoph Moench-Tegeder 的初始想法)
在备份结束时创建隐式还原点
“barman status”中 PostgreSQL 数据文件的当前大小
允许 PostgreSQL 9.5 服务器的“archive_mode=always”(感谢 Christoph Moench-Tegeder)
完全重构负责连接到 PostgreSQL 的代码
改进有关子进程的 cron 命令消息传递
原生支持 Python >= 3.3
行为变更
Barman(备份和恢复管理器)是用 Python 编写的 PostgreSQL 服务器灾难恢复的开源管理工具。它允许您的组织在业务关键环境中对多个服务器执行远程备份,并在恢复阶段为 DBA 提供帮助。Barman 最受欢迎的功能包括备份目录、增量备份、保留策略、远程备份和恢复、WAL 文件和备份的归档和压缩。Barman 在 GNU GPL 3 下分发。