Thread
-
Re: Non-text mode for pg_dumpall
Andrew Dunstan <andrew@dunslane.net> — 2025-11-04T16:55:28Z
On 2025-11-04 Tu 7:53 AM, tushar wrote: > > > On Mon, Nov 3, 2025 at 5:25 PM Mahendra Singh Thalor > <mahi6run@gmail.com> wrote: > > On Mon, 3 Nov 2025 at 12:06, Vaibhav Dalvi > <vaibhav.dalvi@enterprisedb.com> wrote: > > > > Hi Mahendra, > > > > Thank you for your work on this feature. > > I have just begun reviewing the latest patch and > > encountered the following errors during the initial setup: > > > > ``` > > $ ./db/bin/pg_restore testdump_dir -C -d postgres -F d -p 5556 > > pg_restore: error: could not execute query: ERROR: syntax error > at or near "\\" > > LINE 1: \restrict > aO9K1gzVZTlafidF5fWx8ADGzUnIiAcguFz5qskGaFDygTCjCj... > > ^ > > Command was: \restrict > aO9K1gzVZTlafidF5fWx8ADGzUnIiAcguFz5qskGaFDygTCjCj9vg3Xxys1b3hb > > > > pg_restore: error: could not execute query: ERROR: syntax error > at or near "\\" > > LINE 1: \unrestrict > aO9K1gzVZTlafidF5fWx8ADGzUnIiAcguFz5qskGaFDygTCj... > > ^ > > Command was: \unrestrict > aO9K1gzVZTlafidF5fWx8ADGzUnIiAcguFz5qskGaFDygTCjCj9vg3Xxys1b3hb > > > > pg_restore: error: could not execute query: ERROR: syntax error > at or near "\\" > > LINE 1: \connect template1 > > ^ > > Command was: \connect template1 > > > > pg_restore: error: could not execute query: ERROR: syntax error > at or near "\\" > > LINE 1: \connect postgres > > ^ > > Command was: \connect postgres > > ``` > > To cross-check tried with plain dump(with pg_dumpall) and > > restored(SQL file restore) without patch and didn't get above > > connection errors. > > > > It appears there might be an issue with the dump file itself. > > Please note that this is my first observation as I have just > > started the review. I will continue with my assessment. > > > > Regards, > > Vaibhav Dalvi > > EnterpriseDB > > Thanks Vaibhav for the review. > This change was added by me in v04. Only in the case of a file, we > should restore these commands. Attached patch is fixing the same. > > Thanks Mahendra, I am getting a segmentation fault against v05 patch. > > [edb@1a1c15437e7c bin]$ ./pg_dumpall -Ft --file a.3 -v > pg_dumpall: executing SELECT pg_catalog.set_config('search_path', '', > false); > Segmentation fault > > Issue is coming with all output file formats -F[t/c/d] except plain > > Yeah, I don't think we need to dump the timestamp in non-text modes. This fix worked for me: diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c index 601b9f9738e..f66cc26d9a2 100644 --- a/src/bin/pg_dump/pg_dumpall.c +++ b/src/bin/pg_dump/pg_dumpall.c @@ -638,7 +638,7 @@ main(int argc, char *argv[]) if (quote_all_identifiers) executeCommand(conn, "SET quote_all_identifiers = true"); - if (verbose) + if (verbose && archDumpFormat == archNull) dumpTimestamp("Started on"); /* create a archive file for global commands. */ @@ -2258,6 +2258,7 @@ createDumpId(void) static void createOneArchiveEntry(const char *query, const char *tag) { + Assert(fout != NULL); ArchiveEntry(fout, nilCatalogId, /* catalog ID */ createDumpId(), /* dump ID */ cheers andrew -- Andrew Dunstan EDB:https://www.enterprisedb.com