Re: pg_dumpall --roles-only interact with other options

jian he <jian.universality@gmail.com>

From: jian he <jian.universality@gmail.com>
To: Zsolt Parragi <zsolt.parragi@percona.com>
Cc: Nathan Bossart <nathandbossart@gmail.com>, wangpeng <215722532@qq.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2026-02-24T01:10:46Z
Lists: pgsql-hackers

Attachments

On Tue, Feb 10, 2026 at 3:47 AM Zsolt Parragi <zsolt.parragi@percona.com> wrote:
>
> > Is there a reason we need to duplicate these checks in pg_dumpall when they
> > are already handled by pg_dump?
>
> Mainly I think it would be a nicer user experience to fail early
> without generating additional output other than the error message
> (currently it writes out 26 lines before the error), but there are
> also two specific reasons why it would be an improvement:
>
> * "--schema-only --no-schema" is already a contradiction before
> pg_dumpall calls pg_dump: should it print out roles/tablespaces or
> not? (it doesn't)
> * if you specify "pg_dumpall --data-only -no-data -f dump.sql", or
> redirect stdout to a file, it writes out a partial dump before
> failing, and leaves it there. Users should check error messages and
> exit codes, but the file is still there and could cause accidents. 3
> simple checks could prevent this.

OK. The attached v6 added these 3 "--only" and "--no" checks, along
with related tests.



--
jian
https://www.enterprisedb.com/

Commits

  1. pg_dumpall: Fix handling of conflicting options.

  2. pg_dump: Add dumpSchema and dumpData derivative flags.