pgsql: Revert non-text output formats for pg_dumpall

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Revert non-text output formats for pg_dumpall
Date: 2026-06-18 13:42:33
Message-ID: E1waD0r-000s8G-0M@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Revert non-text output formats for pg_dumpall

This reverts the non-text (custom/directory/tar) output format support
for pg_dumpall added by 763aaa06f03 and its feature-specific follow-ups,
in line with Noah Misch's post-commit review which recommends reverting
and finishing the work through the commitfest.

Scope is deliberately minimal: only the feature itself is removed.
Independent improvements that merely touched the same files, or that were
committed alongside the feature but do not depend on its design, are
preserved.

Reverted (the feature):

763aaa06f03 Add non-text output formats to pg_dumpall
d6d9b96b404 Clean up nodes that are no longer of use in 007_pgdumpall.pl
01c729e0c7a Fix casting away const-ness in pg_restore.c
c7572cd48d3 Improve writing map.dat preamble
3c19983cc08 pg_restore: add --no-globals option to skip globals
abff4492d02 Fix options listing of pg_restore --no-globals
bb53b8d359d Fix small memory leak in get_dbname_oid_list_from_mfile()
a793677e57b pg_restore: Remove dead code in restore_all_databases()
a198c26dede pg_dumpall: simplify coding of dropDBs()
ec80215c033 pg_restore: Remove unnecessary strlen() calls in options parsing

Preserved (independent of the feature):

b2898baaf7e the check_mut_excl_opts() helper in src/fe_utils/option_utils.c
and its use in pg_dump
7c8280eeb58 pg_dump's conflicting-option refactor (and tests 002/005)
be0d0b457cb pg_dumpall's rejection of --clean together with --data-only
(re-expressed directly, since pg_dumpall.c is otherwise
returned to its pre-feature state)
74b4438a70b the dangling-grantor-OID GRANT fix (back-patched through 16)
273d26b75e7, d4cb9c37765 independent pg_restore.sgml clarifications

Because the feature restructured pg_dumpall.c and pg_restore.c (pg_restore's
main() was split into restore_one_database() plus a dispatcher) and
interleaved its option checks with the conflicting-option refactor in the
same regions, the cosmetic check_mut_excl_opts() reflow of those two files'
option blocks is inseparable from the feature and comes out with it; the
behavior is unchanged. The reusable helper and pg_dump's use of it are
unaffected.

Discussion: https://postgr.es/m/20260607000218.96.noahmisch@microsoft.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/7ca548f23a60887541493b2da47f2b2720c35ee3

Modified Files
--------------
doc/src/sgml/ref/pg_dumpall.sgml | 135 +----
doc/src/sgml/ref/pg_restore.sgml | 129 +----
doc/src/sgml/release-19.sgml | 19 -
src/bin/pg_dump/meson.build | 1 -
src/bin/pg_dump/parallel.c | 14 -
src/bin/pg_dump/pg_backup.h | 2 +-
src/bin/pg_dump/pg_backup_archiver.c | 67 +--
src/bin/pg_dump/pg_backup_archiver.h | 1 -
src/bin/pg_dump/pg_backup_tar.c | 2 +-
src/bin/pg_dump/pg_dump.c | 2 +-
src/bin/pg_dump/pg_dumpall.c | 857 +++++-----------------------
src/bin/pg_dump/pg_restore.c | 784 +++----------------------
src/bin/pg_dump/t/001_basic.pl | 112 +---
src/bin/pg_dump/t/005_pg_dump_filterfile.pl | 4 +-
src/bin/pg_dump/t/007_pg_dumpall.pl | 661 ---------------------
src/tools/pgindent/typedefs.list | 1 -
16 files changed, 276 insertions(+), 2515 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Nathan Bossart 2026-06-18 14:32:17 pgsql: doc: Fix "Prev" link, take 2.
Previous Message Alexander Korotkov 2026-06-18 07:30:29 pgsql: Create TOAST table for partitions made by MERGE/SPLIT PARTITION