bug: pg_dumpall with --data-only and --clean options is giving an error after some dump

Mahendra Singh Thalor <mahi6run@gmail.com>

From: Mahendra Singh Thalor <mahi6run@gmail.com>
To: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2026-03-14T19:18:39Z
Lists: pgsql-hackers

Attachments

Hi all,

I was doing some tests with pg_dump, pg_dumpall and pg_restore tools. With
"pg_dumpall --data-only --clean", we are reporting an error after dumping
some data.

Please see the example below.

./pg_dumpall --data-only --clean
> --
> -- PostgreSQL database cluster dump
> --
>
> \restrict ZQDDv56JBW8CVfkLsRDeyRpBvDGYUeqhZbJkDccKbXG8q6PI4RB69Dd8KaqcWMY
>
> SET default_transaction_read_only = off;
>
> SET client_encoding = 'UTF8';
> SET standard_conforming_strings = on;
>
> \unrestrict ZQDDv56JBW8CVfkLsRDeyRpBvDGYUeqhZbJkDccKbXG8q6PI4RB69Dd8KaqcWMY
>
> --
> -- Databases
> --
>
> --
> -- Database "template1" dump
> --
>
> pg_dump: error: options -c/--clean and -a/--data-only cannot be used
> together
> pg_dumpall: error: pg_dump failed on database "template1", exiting
>
>
Error is coming from pg_dump but it should come from pg_dumpall without
any dump.

Here, I am attaching a patch to fix this problem. Please review this.

-- 
Thanks and Regards
Mahendra Singh Thalor
EnterpriseDB: http://www.enterprisedb.com

Commits

  1. pg_dumpall: Fix handling of incompatible options.