Re: Non-text mode for pg_dumpall
Mahendra Singh Thalor <mahi6run@gmail.com>
From: Mahendra Singh Thalor <mahi6run@gmail.com>
To: Andrew Dunstan <andrew@dunslane.net>
Cc: jian he <jian.universality@gmail.com>, Álvaro Herrera <alvherre@alvh.no-ip.org>, Srinath Reddy <srinath2133@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2025-03-19T06:41:09Z
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
- v24_0001_move-common-code-of-pg_dumpall-and-pg_restore-to-new_file.patch (application/octet-stream) patch v24-0001
- v24_0002_pg_dumpall-with-non-text_format-18th_march.patch (application/octet-stream) patch v24-0002
On Wed, 12 Mar 2025 at 21:18, Andrew Dunstan <andrew@dunslane.net> wrote: > > > On 2025-03-12 We 3:03 AM, jian he wrote: > > On Wed, Mar 12, 2025 at 1:06 AM Álvaro Herrera <alvherre@alvh.no-ip.org> wrote: > >> Hello, > >> > >> On 2025-Mar-11, Mahendra Singh Thalor wrote: > >> > >>> In map.dat file, I tried to fix this issue by adding number of characters > >>> in dbname but as per code comments, as of now, we are not supporting \n\r > >>> in dbnames so i removed handling. > >>> I will do some more study to fix this issue. > >> Yeah, I think this is saying that you should not consider the contents > >> of map.dat as a shell string. After all, you're not going to _execute_ > >> that file via the shell. > >> > >> Maybe for map.dat you need to escape such characters somehow, so that > >> they don't appear as literal newlines/carriage returns. > >> > > I am confused. > > currently pg_dumpall plain format will abort when encountering dbname > > containing newline. > > the left dumped plain file does not contain all the cluster databases data. > > > > > > if pg_dumpall non-text format aborts earlier, > > it's aligned with pg_dumpall plain format? > > it's also an improvement since aborts earlier, nothing will be dumped? > > > > > > am i missing something? > > > > > > I think we should fix that. > > But for the current proposal, Álvaro and I were talking this morning, > and we thought the simplest thing here would be to have the one line > format and escape NL/CRs in the database name. > > > cheers > Okay. As per discussions, we will keep one line entry for each database into map.file. Thanks all for feedback and review. Here, I am attaching updated patches for review and testing. These patches can be applied on commit a6524105d20b. -- Thanks and Regards Mahendra Singh Thalor EnterpriseDB: http://www.enterprisedb.com