Re: pg_dump --with-* options
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>, pgsql@j-davis.com
Date: 2025-06-12T13:47:54Z
Lists: pgsql-hackers
On 06.06.25 17:39, Nathan Bossart wrote: > On Fri, Jun 06, 2025 at 09:14:32AM +0200, Peter Eisentraut wrote: >> We have >> >> -a, --data-only dump only the data, not the schema or statistics >> --no-data do not dump data >> --with-data dump the data # this one is new >> >> (and there is also --section=data), and then three analogous options for >> "schema" and "statistics". >> >> What is the purpose of the --with-data option? Dumping the data is the >> default. Is this to override an earlier --no-data option? > > I believe the idea is that these will allow folks to be explicit about what > they want instead of needing to understand the defaults for every > component. I get that idea, but we really need some more documentation for this, I think. So far I could only guess how this is supposed to be used, and I also happened to guess wrong. My initial guess was that --with-data can override --no-data. That would have been pretty standard "last option wins" behavior. But pg_dump rejects that. Personally, I think that is kind of wrong. But you can use --with-data to override, say, --schema-only. That also seems kind of wrong to me, but anyway. Then, it seems that --schema-only plus --with-data is kind of the same as everything plus --no-statistics? I'm also wondering, if you consider the aforementioned "last option wins" behavior, should there be a difference between --schema-only --with-data, and --with-data --schema-only or for that matter --schema-only --data-only But in any case, if you want that level of precision, wouldn't it make more sense to use the --section option? This is all a nice logic puzzle, but some more documentation would be nice.
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Simplify options in pg_dump and pg_restore.
- 6a46089e458f 19 (unreleased) landed
- a3e8dc143862 18.0 landed
-
pg_dump: reject combination of "only" and "with"
- 0ed92cf50cc4 19 (unreleased) landed
- 60121890f7f2 18.0 landed
-
Change pg_dump default for statistics export.
- 34eb2a80d5a3 18.0 cited