Обсуждение: 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: https://postgr.es/m/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