Trigger disable for table

From: Frank Durstewitz <frank(dot)durstewitz(at)emporis(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Trigger disable for table
Date: 2008-10-02 10:26:20
Message-ID: 48E4A1CC.6060209@emporis.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi list.

A fairly complex problem:

- Table A has a before insert/update trigger, which look up table B and
use field C from table B.
- Table B has a after insert/update trigger, which update table A with
field C.

The update on table B triggers the trigger from table A, so the same
thing is done twice.
Can one avoid to fire the trigger on table A, when updates are made to
table B, because i know all fields already and can build the update sql
for table A, so no need to call the trigger on table A?

My idea is to have it like
...
IF NEW.published = TRUE THEN
ALTER TABLE a DISABLE TRIGGER mytrigger USER;
(do update here)
ALTER TABLE a ENABLE TRIGGER mytrigger USER;
...

Will a construct like this disable the trigger only inside the this
function or is the trigger disabled outside (visiblility?) the function,
too, which is unacceptable.

(Hmm, sounds very confused, and so i am...)

A helping hand on this topic is well accepted :-)

Thanks, Frank

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Reg Me Please 2008-10-02 10:31:47 Re: Transactions within a function body
Previous Message Reg Me Please 2008-10-02 10:24:59 Re: Transactions within a function body