Hmmmm...

What about 
UPDATE pg_trigger SET tgenabled = false;

Restore data, and after done:
UPDATE pg_trigger SET tgenabled = true;

I'm going to test it.

-----Original Message-----
From: Josh Kupershmidt <schmi...@gmail.com>
To: Iñigo Martinez Lasala <imarti...@vectorsf.com>
Cc: pgsql-admin <pgsql-admin@postgresql.org>
Subject: Re: [ADMIN] Disabling triggers with psql (gforge 7.4 to 8.2
migration)
Date: Wed, 10 Feb 2010 09:55:15 -0500


On Feb 10, 2010, at 4:30 AM, Iñigo Martinez Lasala wrote:
> 
> Third one, and we haven't been able to fix it, is we cannot restore
> data dump via psql due to psql does not have an option to disable
> triggers. So, when restoring data, it fails. So... is there any way to
> disable in a psql session all triggers same way like with pg_restore
> --disable-triggers?  Or can we convert plain text dump to be processed
> by pg_restore? Perhaps a table by table trigger disabling script?
> 

How about:
 1. restore your schema, with triggers, using a pg_dump
--schema-only ... ; pg_restore ... 
 2. Create a psql-loadable data-only dump using pg_dump --data-only
--disable-triggers --format=p ...
 3. clean the data-only dump and restore


Or, you could do a full pg_dump -Fc ... of your database, then use
pg_restore to restore the compressed dumpfile into a plaintext file
(i.e. pg_restore [options] filename). Then run your cleanup on the
plaintext file, and reload. 


Josh

Reply via email to