pg_dumpbinary v2.5 发布

发布于 2021-09-09,作者:Gilles Darold
相关开源

加蓬,利伯维尔 - 2021年9月8日

pg_dumpbinary

pg_dumpbinary 是一个用于转储 PostgreSQL 数据库的程序,数据以二进制格式转储。生成的转储必须使用此工具提供的 pg_restorebinary 进行还原。

pg_dumpbinary 2.5 今天发布,此新版本增加了对结构已更改的表的数据恢复的支持。

pg_dumpbinary 现在将为每个表创建一个文件 meta-schema.<tablename>.txt,该文件存储导出时的表列列表。在恢复时,如果存在此文件,则 pg_restore binary 将读取此文件,或者从转储的预数据部分获取目标列列表。目标列表将附加到 COPY FROM 命令,以避免出现诸如“ERROR: row field count is 28, expected 29”之类的错误消息。这对于具有更多列的升级扩展中的表,或者如果您尝试仅将数据导入到具有更多列的现有表中是必要的。

pg_dumpbinary 在某些情况下很有用

  • 您的 bytea 不能被 pg_dump 导出,因为转义/十六进制输出的总大小超过 1Gb。
  • 您有自定义类型,该类型在内部将 \0 存储在 bytea 中,但数据作为 char/varchar/text 返回,这将截断 '\0' 之后的数据。在这种情况下,pg_dump 将以输出类型导出数据,这将导致数据丢失。
  • 任何其他可以使用二进制格式的情况。

如果您处于这种情况,pg_dumpbinary 将通过以二进制格式转储 PostgreSQL 数据库来帮助您。在所有其他情况下,您必须使用 PostgreSQL 发行的 pg_dump/pg_restore 命令。

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

链接 & 鸣谢

pg_dumpbinary 是 LzLabs GmbH 的一个开源项目。欢迎任何人为构建更好的工具做出贡献。您只需使用 GitHub 工具发送您的想法、功能请求或补丁。

链接