Re: BEFORE UPDATE trigger also fires at insert? - Mailing list pgsql-general

From Tom Lane
Subject Re: BEFORE UPDATE trigger also fires at insert?
Date
Msg-id 21233.1304873237@sss.pgh.pa.us
Whole thread Raw
In response to BEFORE UPDATE trigger also fires at insert?  (Clemens Eisserer <linuxhippy@gmail.com>)
List pgsql-general
Clemens Eisserer <linuxhippy@gmail.com> writes:
> I've defined a small trigger to increment a field each time the row is updated:

>> CREATE TRIGGER inc_trigger BEFORE UPDATE ON Table FOR EACH ROW EXECUTE PROCEDURE inc_function();

> Works quite well, however the trigger is also fired if the table
> itself is modified.
> When deleting or inserting a single row, the trigger is executed for
> all rows contained in the table.

> Is this intetional, and if so, how can I get the behaviour to only
> execute the trigger when an update on the relation is performed?

That trigger definition will most certainly only fire on updates.

Are you sure you don't have additional trigger definitions calling the
same function?  Or maybe there are some rules on the table that result
in update actions?

            regards, tom lane

pgsql-general by date:

Previous
From: Clemens Eisserer
Date:
Subject: BEFORE UPDATE trigger also fires at insert?
Next
From: Christophe Pettus
Date:
Subject: Time zone specifications, abbreviations vs full names