pg_dump: regular expression notation for tables

Started by PG Bug reporting formover 3 years ago2 messagesdocs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/14/app-pgdump.html
Description:

Hi,

The pg_dump page mentions:

https://www.postgresql.org/docs/current/app-pgdump.html#PG-DUMP-EXAMPLES
==
To dump all schemas whose names start with east or west and end in gsm,
excluding any schemas whose names contain the word test:
$ pg_dump -n 'east*gsm' -n 'west*gsm' -N '*test*' mydb > db.sql

The same, using regular expression notation to consolidate the switches:
$ pg_dump -n '(east|west)*gsm' -N '*test*' mydb > db.sql
==

However the manual doesn't mention anything about regular expressions
otherwise.

If it is possible to use regular expressions then the examples would have
issues:

east*gsm would match easgsm, eastgsm, eastttttgsm, but not east.gsm or
east_tower.gsm
(east|west)*gsm would match gsm, eastgsm, eastwesteastgsm, but not east.gsm
or east_tower.gsm

Perhaps regular expressions are not supported, but simply some sort of glob
expression?

- Peter Brodersen

#2Bruce Momjian
bruce@momjian.us
In reply to: PG Bug reporting form (#1)
Re: pg_dump: regular expression notation for tables

On Tue, Sep 6, 2022 at 08:15:14AM +0000, PG Doc comments form wrote:

The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/14/app-pgdump.html
Description:

Hi,

The pg_dump page mentions:

https://www.postgresql.org/docs/current/app-pgdump.html#PG-DUMP-EXAMPLES
==
To dump all schemas whose names start with east or west and end in gsm,
excluding any schemas whose names contain the word test:
$ pg_dump -n 'east*gsm' -n 'west*gsm' -N '*test*' mydb > db.sql

The same, using regular expression notation to consolidate the switches:
$ pg_dump -n '(east|west)*gsm' -N '*test*' mydb > db.sql
==

However the manual doesn't mention anything about regular expressions
otherwise.

If it is possible to use regular expressions then the examples would have
issues:

east*gsm would match easgsm, eastgsm, eastttttgsm, but not east.gsm or
east_tower.gsm
(east|west)*gsm would match gsm, eastgsm, eastwesteastgsm, but not east.gsm
or east_tower.gsm

Perhaps regular expressions are not supported, but simply some sort of glob
expression?

The pg_dump documentation says "(see Patterns below)" in several places,
and that link points to:

https://www.postgresql.org/docs/15/app-psql.html#APP-PSQL-PATTERNS

--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com

Indecision is a decision. Inaction is an action. Mark Batterson