Zurich, Switzerland - March 14th, 2022
pg_dumpbinary is a program used to dump a PostgreSQL database with
data dumped in binary format. The resulting dump must be restored
pg_restorebinary that is provided with this tool.
pg_dumpbinary 2.7 was released today, this new release adds two new options to pg_restorebinary
-E, --exclude-extEXTNAME name of an extension to not restore, it can be used multiple time.
--schema-existsadd an IF NOT EXISTS clause to CREATE SCHEMA
they can be useful to fix extensions dependencies for example when the creation
order have changed. They can be created manually and be excluded from the
restoration, the extension's configuration tables data are still restored, this
just remove the extension creation statement. If a schema exists before the
--schema-exists will prevent the command to fail at schema
creation by appending a IF NOT EXISTS clause.
pg_dumpbinary 2.6 was released last week and adds a new command line option
--load-via-partition-root to pg_dumpbinary to dump/restore data through the
partitioned table only and not per partition like the default behavior.
It makes the COPY statements target the root of the partitioning hierarchy
rather than the partition, this may be useful when reloading data on a server
where rows do not always fall into the same partitions as they did on the
original server. This is the equivalent to the pg_dump option.
pg_dumpbinary is useful in some situations:
pg_dumpbecause the total size of the escape/hex output exceed 1Gb.
\0internally in bytea but data are returned as char/varchar/text which truncate data after the '\0'. In this case pg_dump will export data in the output type which will result in data lost.
If you are in this case
pg_dumpbinary will help you by dumping the
PostgreSQL database in binary format. In all other cases you must
use the pg_dump/pg_restore commands distributed with PostgreSQL.
See documentation for a complete description of the features.
pg_dumpbinary is an open project from LzLabs GmbH. Any contribution to build a better tool is welcome. You just have to send your ideas, features requests or patches using the GitHub tools.