pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: pgsql-hackers@lists.postgresql.org
Subject: pg_dumpall dumps global objects with --statistics-only or --no-schema
Date: Wed, 25 Jun 2025 00:26:12 +0900
Message-ID: <08129593-6f3c-4fb9-94b7-5aa2eefb99b0@oss.nttdata.com> (raw)

Hi,

While testing pg_dumpall in v18, I noticed that it still dumps global objects
such as roles and tablespaces even when --statistics-only or --no-schema is
specified. This seems unexpected.

Since pg_dumpall treats global objects as schema-level content, it currently
includes them with --schema-only but skips them with --data-only. By that logic,
it should also skip them when either --statistics-only or --no-schema is used.
Thought?

Attached is a patch to fix this behavior.

Originally, I planned to work on this after we settled the ongoing discussion
about pg_dump options in [1], but since that may take some time, I wanted to
bring this up now so I don't forget the issue.

Regards,

[1] https://postgr.es/m/7cc52488-f876-4ad3-affd-6e4b0ef0cb09@eisentraut.org

-- 
Fujii Masao
NTT DATA Japan Corporation

Attachments:

v1-0001-pg_dumpall-Skip-global-objects-with-statistics-on.patch (text/plain, 1.1K) download From a3cd7c76f456144c62e3652cf3edd77d2d8d3816 Mon Sep 17 00:00:00 2001 From: Fujii Masao <fujii@postgresql.org> Date: Tue, 24 Jun 2025 23:56:28 +0900 Subject: [PATCH v1] pg_dumpall: Skip global objects with --statistics-only or --no-schema. Previously, pg_dumpall would still dump global objects such as roles and tablespaces even when --statistics-only or --no-schema was specified. Since these global objects are treated as schema-level data, they should be skipped in these cases. This commit fixes the issue by ensuring that global objects are not dumped when either --statistics-only or --no-schema is used. --- src/bin/pg_dump/pg_dumpall.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c index 3cbcad65c5f..100317b1aa9 100644 --- a/src/bin/pg_dump/pg_dumpall.c +++ b/src/bin/pg_dump/pg_dumpall.c @@ -632,7 +632,7 @@ main(int argc, char *argv[]) fprintf(OPF, "SET escape_string_warning = off;\n"); fprintf(OPF, "\n"); - if (!data_only) + if (!data_only && !statistics_only && !no_schema) { /* * If asked to --clean, do that first. We can avoid detailed -- 2.49.0

view thread (3+ messages)  latest in thread

Message-ID: <08129593-6f3c-4fb9-94b7-5aa2eefb99b0@oss.nttdata.com>
Permalink:  ../08129593-6f3c-4fb9-94b7-5aa2eefb99b0@oss.nttdata.com/
Also on:    postgresql.org/message-id/08129593-6f3c-4fb9-94b7-5aa2eefb99b0@oss.nttdata.com

 ·  · 

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: pgsql-hackers@postgresql.org
  Cc: masao.fujii@oss.nttdata.com, pgsql-hackers@lists.postgresql.org
  Subject: Re: pg_dumpall dumps global objects with --statistics-only or --no-schema
  In-Reply-To: <08129593-6f3c-4fb9-94b7-5aa2eefb99b0@oss.nttdata.com>

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

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