public inbox for [email protected]  
help / color / mirror / Atom feed
From: Ron Johnson <[email protected]>
To: Laurenz Albe <[email protected]>
Cc: Holger Jakobs <[email protected]>
Cc: [email protected]
Subject: Re: Does pg_dump custom format only compress the table data?
Date: Tue, 3 Feb 2026 11:16:30 -0500
Message-ID: <CANzqJaAh+mPakfiEB2=GiNioMYRPef0eO7ex04-mmDLvoDPX0g@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
References: <CANzqJaAiTvMbuTUX86vZVCUY62KyHPffd_Dt1Po6Jmqv_9A_Bg@mail.gmail.com>
	<[email protected]>
	<[email protected]>
	<[email protected]>

On Tue, Feb 3, 2026 at 7:48 AM Laurenz Albe <[email protected]>
wrote:

> On Tue, 2026-02-03 at 08:51 +0100, Holger Jakobs wrote:
> > Am 03.02.26 um 07:06 schrieb Laurenz Albe:
> > > On Mon, 2026-02-02 at 10:55 -0500, Ron Johnson wrote:
> > > > Out of curiosity, I opened that dump file in vim, and saw not only
> DDL strings but cleartext table data.
> > > >
> > > > Why isn't it compressed?
> > > Are your DDL statement large enough that you would expect that
> compressing
> > > them would offer any real advantage?
> >
> > That wasn't the question. It was about why table DATA aren't compressed,
> > but in clear text.
>
> Ah, I see.
>
> By default, you wouldn't see any table data, because they get compressed.
>
> If a custom format dump is not compressed, the reason could be:
>
> - PostgreSQL was built without support for compression (--without-zlib)
>
> - pg_dump was called with --compress=0
>

I always install RPMs from postgresql.org, and in this case specified
--compress=zstd:long.

$ psql -V
psql (PostgreSQL) 17.7

dba=# insert into do_not_delete (node_name) values ('foo');
INSERT 0 1
dba=# insert into do_not_delete (node_name) values ('bar');
INSERT 0 1
dba=# insert into do_not_delete (node_name) values ('blarge');
INSERT 0 1
dba=#

$ pg_dump -V
pg_dump (PostgreSQL) 17.7

db=dba
$ pg_dump -Fc --compress=zstd:long -v -d${db} -f ${db}.dump  2> ${db}.log
$ dir ${db}.dump
-rw-r--r-- 1 postgres postgres 2205102870 2026-02-03 11:07:34 dba.dump

$ strings ${db}.dump | grep -E 'foo|bar|blarge'
foo     \N
bar     \N
blarge  \N
\Afoo
barYD
[snip]


-- 
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!


view thread (7+ 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], [email protected], [email protected], [email protected]
  Subject: Re: Does pg_dump custom format only compress the table data?
  In-Reply-To: <CANzqJaAh+mPakfiEB2=GiNioMYRPef0eO7ex04-mmDLvoDPX0g@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