public inbox for [email protected]  
help / color / mirror / Atom feed
From: Mahendra Singh Thalor <[email protected]>
To: PostgreSQL-development <[email protected]>
Subject: bug: pg_dumpall with --data-only and --clean options is giving an error after some dump
Date: Sun, 15 Mar 2026 00:48:39 +0530
Message-ID: <CAKYtNArrHiJ0LDB9BFZiUWs6tC78QkBN50wiwO07WhxewYDS3Q@mail.gmail.com> (raw)

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


Attachments:

  [text/x-patch] v01-pg_dumpall-clean-and-data-only-are-incompatible.patch (1.8K, 3-v01-pg_dumpall-clean-and-data-only-are-incompatible.patch)
  download | inline diff:
From bbc014ab3e6d956df53aa7965d3a6b6d5d869baf Mon Sep 17 00:00:00 2001
From: Mahendra Singh Thalor <[email protected]>
Date: Sun, 15 Mar 2026 00:38:16 +0530
Subject: [PATCH] pg_dumpall: -clean and --data-only are incompatible

Report error when -clean and --data-only are given with pg_dumpall.

As of now, we are dumping some data and later we are exiting with
error from pg_dump.
---
 src/bin/pg_dump/pg_dumpall.c   | 4 ++++
 src/bin/pg_dump/t/001_basic.pl | 5 +++++
 2 files changed, 9 insertions(+)

diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c
index 3d2a1d27aef..47a062d0160 100644
--- a/src/bin/pg_dump/pg_dumpall.c
+++ b/src/bin/pg_dump/pg_dumpall.c
@@ -455,6 +455,10 @@ main(int argc, char *argv[])
 						schema_only, "-s/--schema-only",
 						tablespaces_only, "-t/--tablespaces-only");
 
+	/* --clean and --data-only are incompatible */
+	check_mut_excl_opts(output_clean, "-c/--clean",
+			data_only, "-a/--data-only");
+
 	if (if_exists && !output_clean)
 		pg_fatal("option %s requires option %s",
 				 "--if-exists", "-c/--clean");
diff --git a/src/bin/pg_dump/t/001_basic.pl b/src/bin/pg_dump/t/001_basic.pl
index 2f5eb48e7b8..8aab1187282 100644
--- a/src/bin/pg_dump/t/001_basic.pl
+++ b/src/bin/pg_dump/t/001_basic.pl
@@ -50,6 +50,11 @@ command_fails_like(
 	'pg_dump: options -a/--data-only and -s/--schema-only cannot be used together'
 );
 
+command_fails_like(
+        [ 'pg_dumpall', '-c', '-a' ],
+        qr/\Qpg_dumpall: error: options -c\/--clean and -a\/--data-only cannot be used together\E/,
+        'pg_dumpall: options -c/--clean and -a/--data-only cannot be used together');
+
 command_fails_like(
 	[ 'pg_dump', '-s', '--statistics-only' ],
 	qr/\Qpg_dump: error: options -s\/--schema-only and --statistics-only cannot be used together\E/,
-- 
2.52.0



view thread (6+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected]
  Subject: Re: bug: pg_dumpall with --data-only and --clean options is giving an error after some dump
  In-Reply-To: <CAKYtNArrHiJ0LDB9BFZiUWs6tC78QkBN50wiwO07WhxewYDS3Q@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox