[GENERAL] Proper Way to Disable Triggers

2008-04-02 Thread Terry Lee Tucker
Greetings:

I am in the process of converting our 7.4.19 database to 8.3.1. We have 
various scenarios where we need to disable all triggers for a given table 
except for the Slony replication triggers. I'm looking for advice for the 
proper way to do this. I have a function, disable_triggers(table), which 
worked in 7.4.19 by retrieving the value of reltriggers from pg_trigger, 
saving the value in another table, and then setting reltriggers to zero. Once 
the work was done, we then call enable_triggers(table) which restores the 
value of reltriggers. Keep in mind, all of this is in a transaction, and 
thus, the action is only visible to the connection doing the work. Of course, 
this also disabled the Slony trigger, which is not what we want. Now that we 
are porting to 8.3.1, I'm looking for advice as to which is the best way to 
disable triggers for a given table. Should I simply alter disable_triggers to 
set tgenabled in pg_trigger to D for all the triggers I want to disable for 
a given operation, and then code enable_triggers to restore the value to O 
for said triggers?

Thanks in advance for any insight you can give...
-- 
Terry Lee Tucker
Turbo's IT Manager
Turbo, division of Ozburn-Hessey Logistics
2251 Jesse Jewell Pkwy NE
Gainesville, GA 30501
Tel: (336) 372-6812  Fax: (336) 372-6812  Cell: (336) 404-6987
[EMAIL PROTECTED]
www.turbocorp.com

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] Proper Way to Disable Triggers

2008-04-02 Thread Greg Sabino Mullane

-BEGIN PGP SIGNED MESSAGE-
Hash: RIPEMD160


 I am in the process of converting our 7.4.19 database to 8.3.1. We have
 various scenarios where we need to disable all triggers for a given table
 except for the Slony replication triggers. I'm looking for advice for the
 proper way to do this.

See the new new session_replication option:

http://www.postgresql.org/docs/current/static/runtime-config-client.html#GUC-SESSION-REPLICATION-ROLE

- --
Greg Sabino Mullane [EMAIL PROTECTED]
PGP Key: 0x14964AC8 200804022021
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
-BEGIN PGP SIGNATURE-

iEYEAREDAAYFAkf0IxwACgkQvJuQZxSWSsjt/gCgk+57cVz9IO6J3bSeka9jEiuB
W60An2QKLR87/Rer+gfnO9LBqIU4S5jj
=ZOcE
-END PGP SIGNATURE-



-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general