Re: BUG #6176: pg_dump dumps pg_catalog tables

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Chander Ganesan" <chander(at)otg-nc(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #6176: pg_dump dumps pg_catalog tables
Date: 2011-08-25 14:52:03
Message-ID: 2120.1314283923@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

"Chander Ganesan" <chander(at)otg-nc(dot)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

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Chander Ganesan 2011-08-25 15:09:30 Re: BUG #6176: pg_dump dumps pg_catalog tables
Previous Message Dave Page 2011-08-25 14:22:06 Re: libber library not found on RC1