Re: TIL: In pg_dump, beware the combo of "-Fd" and "-Z"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/19/21 1:55 PM, David G. Johnston wrote:
On Tuesday, January 19, 2021, Ron <ronljohnsonjr@xxxxxxxxx> wrote:

For a project using 9.6, I have this command backing up a database:
So, for the 12 project, I copied it over, removing the "0", since I want these backups compressed.

The versions in use doesn’t seem pertinent to the observation - this behavior hasn’t changed (at least in the docs).
 

Since the -Z default is "6"

It is?  Where do you see this?

https://www.postgresql.org/docs/12/app-pgdump.html

"-Z 0..9"
"the default is to compress at a moderate level."

It doesn't say "6", but every other bit of software I've used defaults to level 6.

What's also interesting is that this section doesn't mention what it does with directory format backups, though it does mention custom format.

"For the custom archive format, this specifies compression of individual table-data segments, and the default is to compress at a moderate level."

Since -Fc and -Fd are so similar, I worked off the notion that -Z works similarly for both.

 

 I assumed that would compress the backup.  It didn't, acting instead like "-Z0".  Removing "-Z" made it compress.

This surprised me, and is very counter-intuitive.  A bug?


That we accept a -Z parameter without a number without complaint would be a bug given the documentation doesn’t indicate the number as being optional.  That “-Z” and “-Z 0” are equivalent makes sense if one allows “-Z”.

As mentioned above, -Z6 is the default on all the other software I use, so worked of the notion that Postgres uses that default, too.

--
Angular momentum makes the world go 'round.

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux