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