Re: Non-text mode for pg_dumpall - Mailing list pgsql-hackers

From tushar
Subject Re: Non-text mode for pg_dumpall
Date
Msg-id CAC6VRoat6NPcS6vfGrPrwaQB3G1JHLSqDeAkf1AJ7npWrwhnUQ@mail.gmail.com
Whole thread Raw
In response to Re: Non-text mode for pg_dumpall  (Mahendra Singh Thalor <mahi6run@gmail.com>)
List pgsql-hackers


On Tue, Jan 27, 2026 at 9:11 PM Mahendra Singh Thalor <mahi6run@gmail.com> wrote:
On Fri, 23 Jan 2026 at 19:07, tushar <tushar.ahuja@enterprisedb.com> wrote:
>
>
>
> On Fri, Jan 23, 2026 at 12:21 PM tushar <tushar.ahuja@enterprisedb.com> wrote:
>>
>>
>> Thanks Mahendra, a minor  observation -  The pg_restore output shows a double slash in the map.dat path (e.g., abc.tar//map.dat).
>> While it doesn't break the restore, we may want to clean up the path joining logic.
>>
>> [edb@1a1c15437e7c bin]$ ./pg_restore -Ft -C abc.tar/ -d postgres -p 9011  -U  ed -v
>> pg_restore: found database "template1
>> " (OID: 1) in file "abc.tar//map.dat"
>> pg_restore: found database "postgres
>> " (OID: 5) in file "abc.tar//map.dat"
>>
>>
>
> Please refer to this scenario where - Objects  created under template1 and the postgres database by a specific user are failing during a cross-cluster restore.
> When restoring to a new cluster as a different superuser, pg_restore throws the error: ERROR: role "edb" does not exist.
> It appears the restore is attempting to preserve the original ownership of template1 objects even when the target environment lacks those specific roles.
>
> Steps to reproduce:
> initdb ( ./initdb -U edb -D data) , start the server , connect to postgres and  template1 database one by one and  create
> this table ( create table test(n int); )
> perform pg_dumpall operation ( ./pg_dumpall -Ft -f abc.tar)
> initdb (./initdb -U xyz) , start the server , create a database ( create database abc;)
> perform pg_restore operation ( ./pg_restore -Ft -C abc.tar/ -d postgres -p 9033 -U xyz)
> --getting an error,  table 'test' will be created on 'template1' database but failed to create on an another database ( in this case - 'abc' database)
>
> regards,

Hi,
Here I am attaching an updated patch for the review and testing.
Thanks Jian for the reporting rebase issue.


Thanks Mahendra, getting a regression error during the restore process after applying this patch.

 [edb@1a1c15437e7c bin]$ ./pg_restore -Ft -C abc1.tar/ -d postgres -p 9000
pg_restore: error: could not execute query: ERROR:  non-standard string literals are not supported
Command was: SET standard_conforming_strings = off;
pg_restore: warning: errors ignored on restore: 1 

in earlier patches - this was not coming. 

regards,

pgsql-hackers by date:

Previous
From: Thomas Munro
Date:
Subject: Re: pgsql: Prevent invalidation of newly synced replication slots.
Next
From: Chao Li
Date:
Subject: Re: display hot standby state in psql prompt