pg_dumpbinary dumps a PostgreSQL database to a binary format. The resulting dump must be restored using pg_restorebinary, which is provided.
pg_dumpbinary 2.14 was released today, it adds two new options and fixes some bugs reported by users since last release.
Add new option --with-child, when -t or -T options are used, to include or exclude child and partition tables. pg_dump will be used instead with options --table-and-children or --exclude-table-and-children. It requires PostgreSQL >= 16.
Add -V, --verbose option that lists tables included in the dump.
Add -A, --attach SNAPSHOT to be able to attach pg_dumpbinary to an existing snapshot instead of creating a dedicated one.
Fix dump failure when sequences name have spaces.
A full list of changes and acknowledgments can be found here
pg_dumpbinary is useful when:
You have bytea that can not be exported by pg_dump because the total size of the escape/hex output exceeds 1Gb.
You have custom type that stores \0 internally in bytea but data are exported by pg_dump as char/varchar/text. In this case pg_dump truncates all data after the first '\0', resulting in data loss.
Other cases where a binary output format is useful.
In these kinds of cases pg_dumpbinary helps by dumping the PostgreSQL database in a binary format. In all other cases the pg_dump/pg_restore commands distributed with PostgreSQL are preferred.
See the documentation for a more complete description of available features.
Links & Credits
pg_dumpbinary is an Open Source project from LzLabs GmbH. Contributions and ideas are welcome. Send your ideas, features requests, or patches using GitHub's tools.