WireSpot wrote:
Is it possible to dump an entire database but to skip one or two
tables? Or, conversely, to restore an entire dump except for one or
two tables? (Although I'd prefer the first version.)
The only related option for both pg_dump and pg_restore is --table,
which only takes 1 (one) table name. If only it accepted more than one
I could've found a workaround.
Any idea, other than messing around with the dump file? I don't look
forward to grepping a dump which is several tens of megabytes gzipped...
I'm considering doing a dump with --table for each table except the
one or two in question. But I wonder, if I simply concatenate the
resulting SQL dumps, will I get a valid dump? There are all kinds of
foreign key contraints in place, and if the table data is not fed back
in the right order it's useless.
I don't think you can limit the dump output precisely as you ask, but
you can get the equivalent by doing a custom format dump, then use
pg_restore to produce a archive listing, which you then edit so as to
select specific objects you want to include/exclude, and then run
pg_restore against that edited list file.
---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match