Re: Disabling triggers with psql (gforge 7.4 to 8.2 migration) - Mailing list pgsql-admin

From Iñigo Martinez Lasala
Subject Re: Disabling triggers with psql (gforge 7.4 to 8.2 migration)
Date
Msg-id 1265815807.6369.19.camel@coyote
Whole thread Raw
In response to Re: Disabling triggers with psql (gforge 7.4 to 8.2 migration)  (Josh Kupershmidt <schmiddy@gmail.com>)
List pgsql-admin
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 <schmiddy@gmail.com>
To: Iñigo Martinez Lasala <imartinez@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

pgsql-admin by date:

Previous
From: Iñigo Martinez Lasala
Date:
Subject: Re: Disabling triggers with psql (gforge 7.4 to 8.2 migration)
Next
From: Josh Kupershmidt
Date:
Subject: Re: Disabling triggers with psql (gforge 7.4 to 8.2 migration)