2025年9月25日: PostgreSQL 18 发布!

Barman 1.6.0 已发布

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

2016年2月29日:2ndQuadrant 自豪地宣布推出 Barman(PostgreSQL 的备份和恢复管理器)1.6.0 版本。

重大发布

此重大版本引入了 WAL 流式传输支持,通过持续将恢复点目标(Recovery Point Objective)减少到接近 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' 启用时,在 'check' 命令中验证 'pg_receivexlog' 是否正在运行

  • 在 '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 文件(提交:e3a1d16)
  • Bug 修复
    • 原子 WAL 文件归档(#9 和 #12)
    • 将“-c”选项传播到任何 Barman 子进程(#19)
    • 修复备份删除期间的备份 ID 管理(#22)
    • 改进 'archive-wal' 的健壮性和日志消息(#24)
    • 改进在缺少参数情况下的错误处理

下载

关于

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