2. If I use "pg_dump -s" separately, the data may not load (or load to slow) after that, because all indices/foreign keys are already there. Is there a way to split "pg_dump -s" into 2 parts: the first part dumps everything excluding indices, checks and foreign keys, and the second part - only them? Not sure it is possible at all, because I think pg_dump may dump data not between these two blocks of DDLs...
On Fri, Aug 19, 2011 at 12:04 AM, Adrian Klaver <adrian.klaver@xxxxxxxxx> wrote:
One way I know you can do it, is exclude the data from restoring. This requiresOn Thursday, August 18, 2011 12:49:45 pm Dmitry Koterov wrote:
> Hello.
>
> Is there any way (or hack) to dump the whole database, but to exclude the
> DATA from a table within this dump? (DDL of the table should not be
> excluded: after restoring the data the excluded table should look "empty".)
>
> I see -T switch of pg_dump, but seems -T excludes the data AND the DDL of a
> table (and possibly all objects which depend on this table?), so after
> restoration the database structure becomes broken sometimes.
you use the pg_dump custom format. For full details see here:
http://www.postgresql.org/docs/9.0/interactive/app-pgrestore.html
Short version use pg_restore -l to generate a listing from the dump file.
Comment out the line that copys the data into that table.
Use pg_restore ... -L to have pg_restore those items not commented out.
Another way is do it using the -T switch for the 'complete' db dump. Then do a
separate dump using -s (schema only) and -t some_table and then restore it on
its own.
--
Adrian Klaver
adrian.klaver@xxxxxxxxx
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general