pgsql: Add --exclude-database option to pg_dumpall
Add --exclude-database option to pg_dumpall
This option functions similarly to pg_dump's --exclude-table option, but
for database names. The option can be given once, and the argument can
be a pattern including wildcard characters.
Author: Andrew Dunstan.
Reviewd-by: Fabien Coelho and Michael Paquier
Discussion: /messages/by-id/43a54a47-4aa7-c70e-9ca6-648f436dd6e6@2ndQuadrant.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/f092de0503cd77a8463e7089c249d5e0586a120b
Modified Files
--------------
doc/src/sgml/ref/pg_dumpall.sgml | 21 +++++++++++
src/bin/pg_dump/pg_dump.c | 3 +-
src/bin/pg_dump/pg_dumpall.c | 78 ++++++++++++++++++++++++++++++++++++++++
src/bin/pg_dump/t/001_basic.pl | 13 ++++++-
src/bin/pg_dump/t/002_pg_dump.pl | 11 ++++++
5 files changed, 124 insertions(+), 2 deletions(-)
Andrew Dunstan <andrew@dunslane.net> writes:
Add --exclude-database option to pg_dumpall
Buildfarm seems to think you got the test case wrong ...
regards, tom lane
On 3/1/19 12:04 PM, Tom Lane wrote:
Andrew Dunstan <andrew@dunslane.net> writes:
Add --exclude-database option to pg_dumpall
Buildfarm seems to think you got the test case wrong ...
Hmm, Of course I tested this. It's passing on Linux boxes like crake and
prion, but failing on OSX and FBSD boxes.
I guess that's what we have a buildfarm for :-)
here's the error:
# Failed test 'pg_dumpall: option --exclude-database requires an argument: matches'
# at t/001_basic.pl line 154.
# 'pg_dumpall: option `--exclude-database' requires an argument
# Try "pg_dumpall --help" for more information.
# '
# doesn't match '(?^:pg_dumpall\:\ option\ \'\-\-exclude\-database\'\ requires\ an\ argument)'
Why is that backtick there? That looks like the culprit, coming from the
GetOpt implementation presumably.
I guess I can replace the first quote with a class containing ['`]
cheers
andrew
--
Andrew Dunstan https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
On 3/1/19 12:56 PM, Andrew Dunstan wrote:
On 3/1/19 12:04 PM, Tom Lane wrote:
Andrew Dunstan <andrew@dunslane.net> writes:
Add --exclude-database option to pg_dumpall
Buildfarm seems to think you got the test case wrong ...
Hmm, Of course I tested this. It's passing on Linux boxes like crake and
prion, but failing on OSX and FBSD boxes.I guess that's what we have a buildfarm for :-)
here's the error:
# Failed test 'pg_dumpall: option --exclude-database requires an argument: matches'
# at t/001_basic.pl line 154.
# 'pg_dumpall: option `--exclude-database' requires an argument
# Try "pg_dumpall --help" for more information.
# '
# doesn't match '(?^:pg_dumpall\:\ option\ \'\-\-exclude\-database\'\ requires\ an\ argument)'Why is that backtick there? That looks like the culprit, coming from the
GetOpt implementation presumably.I guess I can replace the first quote with a class containing ['`]
... and on Windows the result is radically different:
# Failed test 'pg_dumpall: option --exclude-database requires an argument: matches'
# at t/001_basic.pl line 154.
# 'H:\prog\bf\root\HEAD\pgsql.build\tmp_install\bin\pg_dumpall.EXE: option requires an argument -- exclude-database
# Try "pg_dumpall --help" for more information.
# '
# doesn't match '(?^:pg_dumpall\:\ option\ \'\-\-exclude\-database\'\ requires\ an\ argument)'
I'm somewhat inclined just to abandon the test. It's at best of marginal
use.
cheers
andrew
--
Andrew Dunstan https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Andrew Dunstan <andrew.dunstan@2ndquadrant.com> writes:
[ getopt has platform-dependent error message spelling ]
I'm somewhat inclined just to abandon the test. It's at best of marginal
use.
Agreed. It seems barely worth the test cycles to begin with, and
surely not worth coping with all the different ways this error
message might be spelled.
regards, tom lane