pg_dumpbinary v2.7

发布于 2022-03-15,作者:Gilles Darold
相关开源

瑞士苏黎世 - 2022 年 3 月 14 日

pg_dumpbinary

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

pg_dumpbinary 2.7 今天发布,此新版本为 pg_restorebinary 添加了两个新选项

  • -E, --exclude-ext EXTNAME 要排除的扩展名称,可以多次使用。
  • --schema-exists 向 CREATE SCHEMA 添加 IF NOT EXISTS 子句

它们在修复扩展依赖项(例如,当创建顺序发生变化时)时很有用。它们可以手动创建并从还原中排除,扩展的配置表数据仍然会还原,这只是删除了扩展创建语句。如果在还原之前架构已存在,则 --schema-exists 将通过附加 IF NOT EXISTS 子句来防止命令在架构创建时失败。

pg_dumpbinary 2.6 上周发布,并为 pg_dumpbinary 添加了一个新的命令行选项 --load-via-partition-root,用于仅通过分区表而不是像默认行为那样按分区转储/还原数据。它使 COPY 语句的目标是分区层次结构的根,而不是分区,这在重新加载数据到服务器上时可能很有用,在服务器上,行并不总是像在原始服务器上那样落入相同的分区。这等效于 pg_dump 选项。

pg_dumpbinary 在某些情况下很有用

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

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

请参阅文档以获取功能的完整描述。

链接 & 鸣谢

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

链接