Обсуждение: pgsql: Add --exclude-database option to pg_dumpall

Поиск
Список
Период
Сортировка

pgsql: Add --exclude-database option to pg_dumpall

От
Andrew Dunstan
Дата:
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(-)


Re: pgsql: Add --exclude-database option to pg_dumpall

От
Tom Lane
Дата:
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


Re: pgsql: Add --exclude-database option to pg_dumpall

От
Andrew Dunstan
Дата:
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



Re: pgsql: Add --exclude-database option to pg_dumpall

От
Andrew Dunstan
Дата:
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



Re: pgsql: Add --exclude-database option to pg_dumpall

От
Tom Lane
Дата:
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