using disable-triggers in pg_dump - Mailing list pgsql-admin

From Nick Fankhauser - Doxpop
Subject using disable-triggers in pg_dump
Date
Msg-id NEBBLAAHGLEEPCGOBHDGEEHNLJAA.nickf@doxpop.com
Whole thread Raw
Responses Re: using disable-triggers in pg_dump
List pgsql-admin
Hi-

One of our processes requires merging data from a staging database into a
production database. I'd like to do this without taking the production
database off-line, but I'm running into a problem with triggers.

One of the tables is populated and maintained solely by triggers set up on
three other tables, so as those tables are being copied into the production
database, many triggers are running, thus slowing the process considerably.
Since the data created by the triggers already exists in this table in the
database to be merged, if I could copy all of the data in with the triggers
off, the process would be much faster and the end result identical.

However, I need those triggers on to handle other updates & inserts in the
production database unless it is taken off-line for duration of the merge
process.

I've noted the --disable-triggers option for pg_dump, but it appears that
this option would shut off the triggers for all sessions, not just the
session in which I am doing the copy.

The command that pg_dump generates looks like this:
UPDATE pg_catalog.pg_class SET reltriggers = 0 WHERE oid =
'court_config'::pg_catalog.regclass;

Can someone confirm that this is indeed affecting the database for all
sessions and if so, suggest a way to turn off the triggers just for the
session doing the data copy?

Thanks
    -Nick

---------------------------------------------------------------------
Nick Fankhauser

    nickf@doxpop.com  Phone 1.765.965.7363  Fax 1.765.962.9788
doxpop - Court records at your fingertips - http://www.doxpop.com/



pgsql-admin by date:

Previous
From: brew@theMode.com
Date:
Subject: Re: [PERFORM] started Data Warehousing
Next
From: "Chris Smith"
Date:
Subject: Re: [PERFORM] syslog slowing the database?