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

pg_dumpbinary v2.20 发布

发布于 2025-06-11,作者 Gilles Darold
相关开源项目

马达加斯加,塔那那利佛 - 2025年6月4日

pg_dumpbinary

pg_dumpbinary 将 PostgreSQL 数据库转储为二进制格式。转储后的数据必须使用提供的 pg_restorebinary 进行恢复。

这是一个维护版本,修复了自上次发布以来用户报告的一些问题,并为 pg_restorebinary 命令添加了一个新的命令行选项。

  • pg_restorebinary 添加 -V, --verbose 选项。
  • 当使用 sudo -u 时,将目录更改为可写目录,以避免 pg_restore 在当前目录对运行用户不可写时抱怨“无法更改目录”。在这种情况下,pg_dumpbinarypg_restorebinary 分别需要输出和输入目录的绝对路径。
  • 导入 File::Spec 时,不导入 tmpdir() 方法。
  • 修复在没有输入目录或参数缺失时返回的错误代码。

pg_dumpbinary 在以下情况有用:

  • 当您拥有 pg_dump 无法导出的 bytea 数据,因为转义/十六进制输出的总大小超过 1GB 时。
  • 当您拥有自定义类型,该类型在 bytea 中内部存储 \0,但数据被 pg_dump 导出为 char/varchar/text 时。在这种情况下,pg_dump 会截断第一个 \0 之后的所有数据,导致数据丢失。
  • 其他需要二进制输出格式的情况。

在这些情况下,pg_dumpbinary 通过以二进制格式转储 PostgreSQL 数据库来提供帮助。在所有其他情况下,首选 PostgreSQL 自带的 pg_dump/pg_restore 命令。

有关功能的更完整描述,请参阅文档。

链接与致谢

pg_dumpbinary 是一个来自 LzLabs GmbH 的开源项目。我们欢迎贡献和想法。请使用 GitHub 的工具发送您的想法、功能请求或补丁。

链接