hi. the following two tests, you can add to src/bin/pg_dump/t/001_basic.pl
command_fails_like( [ 'pg_restore', '--globals-only', '-f', 'xxx' ], qr/\Qpg_restore: error: option -g\/--globals-only requires option -d\/--dbname\E/, 'pg_restore: error: option -g/--globals-only requires option -d/--dbname' ); command_fails_like( [ 'pg_restore', '--globals-only', '--file=xxx', '--exclude-database=x',], qr/\Qpg_restore: error: option --exclude-database cannot be used together with -g\/--globals-only\E/, 'pg_restore: error: option --exclude-database cannot be used together with -g/--globals-only' );
in pg_restore.sgml. <varlistentry> <term><option>--exclude-database=<replaceable class="parameter">pattern</replaceable></option></term> <listitem> the position should right after <varlistentry> <term><option>-d <replaceable class="parameter">dbname</replaceable></option></term> <term><option>--dbname=<replaceable class="parameter">dbname</replaceable></option></term>
should pg_restore --globals-only pg_restore --exclude-database=pattern be in a separate patch?
i am also wondering what will happen: pg_restore --exclude-database=pattern --dbname=pattern
For restore, we will make server connection with ‘pattern’ database and we will skip restoring for ‘pattern’ database as we are giving ‘pattern’ with —exclude-database.
With server connection, we will restore global.dat at the start of pg_restore.