You can, assuming you start off with a pg_dump in custom format (use -Fc). You can use pg_restore's -l option to drop out the list contents of the archive, and then comment out whatever you do not want restored:
pg_dump -Fc ....... > your_db.dump
pg_restore -l your_db.dump > your_db.list
# edit your_db.list and comment out whatever you don't need (or reorder if needed)
# use your_db.list for the actual restore:
pg_restore -L your_db.list your_db.dump
Look at the examples on:
http://www.postgresql.org/docs/8.3/interactive/app-pgrestore.htmlOn Sat, Oct 25, 2008 at 11:23 AM, Bryce Nesbitt
<bryce2@obviously.com> wrote:
chris smith wrote:
On Sat, Oct 25, 2008 at 5:32 PM, Bryce Nesbitt <bryce2@obviously.com> wrote:
I've got
tables with pretty disposable data... meaning I want to drop the data...
but restore empty indexed tables at pg_restore time.
Do a schema-only dump.
pg_dump --help says use '-s' or '--schema-only'.
Ooops, I was unclear. I want most of the data! There are just a few tables that I'd prefer be empty (truncated) in the restored database. Most of the tables (and there are lots) are valuable.
Could I dump --schema-only, dump full, dump the toc, comment out the tables from the toc, restore the --schema-only, then restore the dump (minus the contents of the unwanted tables)?