From: | Nicolas Thauvin <nicolas(dot)thauvin(at)dalibo(dot)com> |
---|---|
To: | Ibrahim Harrani <ibrahim(dot)harrani(at)gmail(dot)com> |
Cc: | pgsql-admin(at)postgresql(dot)org |
Subject: | Re: pg_dump and drop table if exists statement |
Date: | 2011-06-17 13:23:44 |
Message-ID: | 4DFB5560.4050804@dalibo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
On 13/06/2011 09:56, Ibrahim Harrani wrote:
> Hi,
>
> I am using PostgreSQL 9.0 I would like to dump some tables and all
> functions,triggers on the database.
> If I drop with pg_dump -c parameter, it removes public schema as
> well.
With -c, the drop of the public schema does not cascade, so the objects
of the public schema that are not in the dump won't be deleted when
restoring.
> pg_dump -C parameter output has create table
> but I can't restore this output directly(Because the tables are
> already exist on the db)
-C creates the database and connect to it inside the dump, it is
different from -c.
> There is no problem with functions. They have already this feature.
>
> How can backup/restore tables with DROP TABLE IF EXISTS statement like
> in MySQL? without dropping all database and create again?
Another way to do it is to use the custom format of pg_dump (-Fc), then
pg_restore can be used with -c to first drop the objects to be restored.
More, you can get pg_restore to echo the TOC with -l to a file, modify
this file to choose what to restore, then run pg_restore again with -L
/your/custom/list.
PS: be careful with the -f option of pg_restore, if you don't know the tool
--
Nicolas Thauvin
DBA
http://www.dalibo.com
From | Date | Subject | |
---|---|---|---|
Next Message | Kevin Grittner | 2011-06-17 13:55:22 | Re: Postgres 8.3.10 Alter Table Waiting issue |
Previous Message | Andreas Berger | 2011-06-17 09:59:44 | Re: alter table without an ACCESS EXCLUSIVE lock |