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

pg_dumpbinary v2.14 发布

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

瑞士苏黎世 - 2024年1月10日

pg_dumpbinary

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

pg_dumpbinary 2.14 已于今日发布,新增两个新选项,并修复了自上次发布以来用户报告的一些错误。

  • 添加了新选项 --with-child,当使用 -t-T 选项时,用于包含或排除子表和分区表。pg_dump 将被替换为使用 --table-and-children--exclude-table-and-children 选项。它需要 PostgreSQL >= 16。
  • 添加 -V, --verbose 选项,列出包含在转储中的表。
  • 添加 -A, --attach SNAPSHOT,以便能够将 pg_dumpbinary 附加到现有快照,而不是创建专用快照。
  • 修复了当序列名称包含空格时转储失败的问题。

完整的变更列表和致谢可以在 这里 找到

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 的工具发送您的想法、功能请求或补丁。

链接