Re: Non-text mode for pg_dumpall
Mahendra Singh Thalor <mahi6run@gmail.com>
From: Mahendra Singh Thalor <mahi6run@gmail.com>
To: Álvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Noah Misch <noah@leadboat.com>, Andrew Dunstan <andrew@dunslane.net>, jian he <jian.universality@gmail.com>, Srinath Reddy <srinath2133@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2025-07-17T12:52:38Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add non-text output formats to pg_dumpall
- 763aaa06f034 19 (unreleased) landed
-
Improve pg_dump/pg_dumpall help synopses and terminology
- dec6643487bb 18.0 cited
-
Non text modes for pg_dumpall, correspondingly change pg_restore
- 1495eff7bdb0 18.0 landed
-
Doc: manually break lines in wide UUID examples.
- a6524105d20b 18.0 cited
Attachments
- v02-17-july-use-appendShellString-to-append-file-names.noci (application/octet-stream)
Thanks Álvaro for the feedback. On Thu, 17 Jul 2025 at 16:41, Álvaro Herrera <alvherre@alvh.no-ip.org> wrote: > > On 2025-Jul-17, Mahendra Singh Thalor wrote: > > > To pg_restore, we are giving a dump of pg_dumpall which has a > > global.dat file and we have drop commands in the global.dat file so > > when we are using 'globals-only', we are dropping databases as we have > > DROP commands. > > As of now, we don't have any filter for global.dat file in restore. If > > a user wants to restore only globals(without droping db), then they > > should use 'globals-only' in pg_dumpall. > > Or if we don't want to DROP databases by global.dat file, then we > > should add a filter in pg_restore (hard to implement as we have SQL > > commands in global.dat file). > > I think dropping database is dangerous and makes no practical sense; > doing it renders pg_dumpall --clean completely unusable. You're arguing > from the point of view of ease of implementation, but that doesn't help > users. I have 2 more solutions for this case. *Solution1*: dump DROP database/role/tablespace commands in global_drop.dat (or dump only DROP DATABASE commands in global_drop.dat file) and skip restoring this file with globals-only. *Solution2*: add one more filter in restore to skip the "DROP DATABASE" command as we already have one filter for "CREATE USER". Based on *solution1*, I made a WIP patch. Here, I am attaching a patch for feedback. Note: please use this v02 patch for review. > > > I think, for this case, we can do some > > more doc changes. > > Example: pg_restore --globals-only : this will restore the global.dat > > file(including all drop commands). It might drop databases if any drop > > commands. > > I don't think doc changes are useful. > > -- > Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/ > "I love the Postgres community. It's all about doing things _properly_. :-)" > (David Garamond) -- Thanks and Regards Mahendra Singh Thalor EnterpriseDB: http://www.enterprisedb.com