"Chander Ganesan" <chander@otg-nc.com> writes:
> Normally, the pg_dump command ignored the pg_catalog tables when performing
> a dump. However, when provided the '--table' argument it fails to ignore
> the pg_catalog table.
> For example, suppose I had tables p1-p10 that I wanted to dump, I could use
> the following command:
> pg_dump test_db --table 'p*'
> This command would dump the requested tables, but it would also dump all the
> tables (in all schemas) that start with 'p*' . Generally speaking, there
> are no "excluded schemas" when using the pg_dump command with the '--table'
> argument.
> It is my belief that the pg_catalog tables should almost always be ignored
> (lest restores fail miserably).
This proposal seems overly simplistic to me: if we did this, it would be
impossible to use pg_dump to dump a catalog's contents at all. (I don't
care whether the resulting script is restorable; sometimes you just need
to see what's actually in pg_class.)
I wonder whether it would be helpful to provide a default setting for
--exclude-schema that lists pg_catalog, information_schema, etc.
If we approached it that way, it'd be possible to override the default
at need. However, I'm not sure how that switch interacts with wildcard
--table specs ...
regards, tom lane