On Sun, Jan 12, 2025 at 5:31 AM Mahendra Singh Thalor <mahi6...@gmail.com> wrote: > > > > > you also need change > > <varlistentry> > > <term><option>-f <replaceable > > class="parameter">filename</replaceable></option></term> > > <term><option>--file=<replaceable > > class="parameter">filename</replaceable></option></term> > > <listitem> > > <para> > > Send output to the specified file. If this is omitted, the > > standard output is used. > > </para> > > </listitem> > > </varlistentry> > > ? > > > > since if --format=d, > > <option>--file=<replaceable > > class="parameter">filename</replaceable></option> > > can not be omitted. > > No, we don't need this change. With --fromat=d, we can omit the --file option. > I think this is not correct. since the following three will fail.
$BIN6/pg_dumpall --format=custom --exclude-database=*template* --schema-only $BIN6/pg_dumpall --format=directory --exclude-database=*template* --schema-only $BIN6/pg_dumpall --format=tar --exclude-database=*template* --schema-only that means, pg_dumpall, when format is {custom|directory|tar} --file option cannot be omitted. you introduced a format p(plain) for pg_restore? since $BIN6/pg_restore --dbname=src6 --format=p will not error out. but doc/src/sgml/ref/pg_restore.sgml didn't mention this format. + if (archDumpFormat == archDirectory) + appendPQExpBufferStr(&cmd, " -F d "); + else if (archDumpFormat == archCustom) + appendPQExpBufferStr(&cmd, " -F c "); + else if (archDumpFormat == archTar) + appendPQExpBufferStr(&cmd, " -F t "); can we use long format, i think that would improve the readability. like changing from appendPQExpBufferStr(&cmd, " -F d "); to appendPQExpBufferStr(&cmd, " --format=directory"); ------------------------<<>>>------ I have tested {pg_dump && pg_restore --list}. pg_restore --list works fine with format {directory|custom|tar} but it seems there may be some problems with {pg_dumpall && pg_restore --list} where format is not plain. with your v08 patch, in my local environment. $BIN6/pg_dumpall --format=custom --exclude-database=*template* --schema-only --file=dumpall_src6.custom $BIN6/pg_restore --dbname=src6 --verbose --schema-only --list $SRC6/dumpall_src6.custom error: pg_restore: error: option -C/--create should be specified when using dump of pg_dumpall $BIN6/pg_restore --dbname=src6 --create --verbose --schema-only --list $SRC6/dumpall_src6.custom following is some of the output: pg_restore: found dbname as : "`s3or" and db_oid:1 in map.dat file while restoring pg_restore: found dbname as : "`s3or" and db_oid:5 in map.dat file while restoring pg_restore: found total 2 database names in map.dat file pg_restore: needs to restore 2 databases out of 2 databases pg_restore: restoring database "`s3or" pg_restore: error: could not open input file "/home/jian/Desktop/pg_src/src6/postgres/dumpall_src6.custom/databases/1": No such file or directory