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

pg_probackup 2.3.0 已发布

发布于 2020-04-30,作者 Postgres Professional
相关开源项目

pg_probackup 是一个用于管理 PostgreSQL 数据库集群备份和恢复的实用程序。它旨在执行 PostgreSQL 实例的周期性完整和增量页面级备份,使您能够在发生故障时恢复服务器。

自 pg_probackup 2.2.7 以来的主要变更

新功能

  • --status 选项可与 delete 命令一起使用,以删除所有具有指定状态的备份。由 Stepan Santalov 请求。由 Victor Spirin 贡献。
  • --no-sync 标志可与 backup、restore 和 archive-push 命令一起使用,以禁用复制文件的同步到底层存储。
  • --note 选项允许在运行 backup 和 set-backup 命令时向备份元数据添加一个大小 up to 1KB 的文本注释。由 Victor Spirin 贡献。
  • 现已支持多时间线增量链。增量备份的时间线编号可以与父时间线编号不同,但前提是可以通过 (使用 WAL 归档) 确定子时间线是从父时间线派生的。
  • 您现在可以使用 -S | --primary-slot-name 和 --primary-conninfo 选项在还原期间设置 PostgreSQL 参数 primary_slot_name 和 primary_conninfo。由 Yuri Kurenkov 请求。
  • archive-push 命令重大改版
  • 通过 -j | --threads 选项增加了多线程支持。
  • 通过 --batch-size 选项增加了批量处理。
  • 在远程模式下,校验和现在将在远程代理上计算。
  • archive-get 命令重大改版
  • 通过 -j | --threads 选项增加了多线程支持。
  • 通过 --batch-size 选项增加了 WAL 预取。预取的 WAL 段的默认目录是 PGDATA/pg_wal/pbk_prefetch。您可以使用 --prefetch-dir 选项更改此位置。
  • 现在可以识别由 pg_receivewal 程序生成的局部 WAL 文件,并在相应的完整 WAL 段缺失时使用它们。由 Artem Dolgih 报告。

Bug 修复

  • 启用的日志信息文件不再会中断归档。由 Artem Dolgih 报告。
  • add-instance 命令在将远程 PostgreSQL 实例添加到备份目录时,不再隐式设置实例配置中的 --remote-proto 和 --remote-host 参数。
  • 在 ARCHIVE 模式下进行备份时,pg_probackup 现在等待包含 START LSN 的段,而不是前一个段。由 Mikhail Kulagin 报告。
  • expire-time 属性现在会在合并期间继承。
  • 在备份期间通过 PGOPTIONS 环境变量设置会话参数现在不会导致备份元信息损坏。

改进

  • 从增量链还原的速度大大提高。在某些情况下,提高了几个数量级。由 Alex Ignatov 报告和测试。
  • 合并速度,尤其是多次合并备份的速度,大大提高。由 Rostislav Pochevalov 报告。
  • PAGE 和 PTRACK 模式下的远程备份速度大大提高。
  • 即使设备上没有剩余空间,您现在也可以删除备份。由 Stepan Santalov 报告。
  • 备份期间将忽略隐藏文件。
  • 现在明确禁止使用旧版本的 pg_probackup 来还原备份。由 Dmitriy Kuzmin 贡献。

链接与致谢

pg_probackup 是由 Postgres Professional 在 Postgres 许可证下开发的一个开源工具。主要贡献者包括 Artur Zakirov、Grigory Smolkin、Aleksey Kondratov 和 Anastasia Lubennikova。pg_probackup 可在 https://github.com/postgrespro/pg_probackup 下载。