Barman 1.6.0 发布

发布于 2016-02-29,作者:2ndQuadrant Italia

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 修复

还修复了一些次要的 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

  • 行为变更

    • 停止在“archive-wal”期间丢弃 WAL 文件(commit:e3a1d16)
  • Bug 修复
    • 原子 WAL 文件归档(#9 和 #12)
    • 将“-c”选项传播到任何 Barman 子进程(#19)
    • 修复备份删除期间的备份 ID 管理(#22)
    • 提高“archive-wal”的健壮性和日志消息(#24)
    • 改进缺少参数时的错误处理

下载

关于

Barman(备份和恢复管理器)是用 Python 编写的 PostgreSQL 服务器灾难恢复的开源管理工具。它允许您的组织在业务关键环境中对多个服务器执行远程备份,并在恢复阶段为 DBA 提供帮助。Barman 最受欢迎的功能包括备份目录、增量备份、保留策略、远程备份和恢复、WAL 文件和备份的归档和压缩。Barman 在 GNU GPL 3 下分发。