On Fri, 20 Feb 2026 at 01:30, Andrew Dunstan <[email protected]> wrote:
>
>
> On 2026-02-18 We 12:15 AM, Mahendra Singh Thalor wrote:
>
> On Wed, 28 Jan 2026 at 13:04, tushar <[email protected]> wrote:
> >
> >
> >
> > On Tue, Jan 27, 2026 at 9:11 PM Mahendra Singh Thalor <[email protected]> 
> > wrote:
> >>
> >> On Fri, 23 Jan 2026 at 19:07, tushar <[email protected]> wrote:
> >> >
> >> >
> >> >
> >> > On Fri, Jan 23, 2026 at 12:21 PM tushar <[email protected]> 
> >> > 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,
> >
>
> Thanks Andrew for some design related feedback.
>
> Thanks Jian for the offline discussions, reviews, testing and delta patches.
>
> Thanks Tushar for the detailed testing.
>
> Brief about this patch:
> new option to pg_dumpall: --format=d/t/c/p directory/tar/custam/plain
>
> If the user gives a non-text format with pg_dumpall command, then the full 
> cluster will be dumped and global objects (roles. tablespaces, databases) 
> will be dumped into toc.glo file in custom format with drop commands and 
> databases will be dumped into a given archive format one by one with 
> oid.tar/oid.dmp/oid files/dir.
> When restoring, if the user gives -g(globals-only) option, then creating 
> commands of  only global users/tablespaces/databases will be restored. (no 
> drop commands will be executed)
> toc.glo will be executed with -e(exit-on-error=false) and 
> --transaction-size=0 as some user already created. If the user wants to 
> restore a single database, they can restore it by a single dump file. For 
> --clean and -g(globals-only), we added some error cases so that 
> roles/databases/tablespaces will not be dropped.
>
> Here, I am attaching an updated patch for the review and testing.
>
>
> Here's an update after a round of review. Most of the changes are pretty 
> minor, but it should get the cfbot all green, with a Windows fix in the tests.
>
>
> cheers
>
>
> andrew
>
>
> --
> Andrew Dunstan
> EDB: https://www.enterprisedb.com

Thanks Andrew for the updated patch.

Updated patch looks good to me. I have verified by some dump/restore testing.

-- 
Thanks and Regards
Mahendra Singh Thalor
EnterpriseDB: http://www.enterprisedb.com


Reply via email to