Re: Do docs miss information about timing of triggers?

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Thomas Güttler <guettliml(at)thomas-guettler(dot)de>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Do docs miss information about timing of triggers?
Date: 2016-05-26 13:15:27
Message-ID: CAKFQuwakuFOhTuKp6e=t+p4mNJVZHVi6y9Btkwz8vUKA9VpeAw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, May 26, 2016 at 8:50 AM, Thomas Güttler <
guettliml(at)thomas-guettler(dot)de> wrote:

> I (and a team mate) guess that the docs miss information about the timing
> of triggers,
> which are not constraint triggers:
>
> https://www.postgresql.org/docs/devel/static/sql-createtrigger.html
>
>
> {{{
> When the CONSTRAINT option is specified, this command creates a constraint
> trigger. This is the same as a regular trigger except that the timing of
> the trigger firing can be adjusted using SET CONSTRAINTS. Constraint
> triggers must be AFTER ROW triggers on tables. They can be fired either at
> the end of the statement causing the triggering event, or at the end of the
> containing transaction; in the latter case they are said to be deferred. A
> pending deferred-trigger firing can also be forced to happen immediately by
> using SET CONSTRAINTS. Constraint triggers are expected to raise an
> exception when the constraints they implement are violated.
> }}}
>
> OK, timing of constraint triggers is explained.
>
> But I think the docs don't state the timing of normal AFTER triggers.
>
> Or am I blind?
>

​Through omission. Constraint triggers can optionally be deferred - given
the specificity that means normal triggers cannot.

By the time a given statement has completed all relevant normal triggers
will have fired. The various timings of combinations of (before/after +
row/statement) are not explicitly documented though there doesn't seem to
be non-intuitive behavior going on.

​Maybe knowing why you are asking the question will help us to understand
if/how things could be improved.

David J.


In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2016-05-26 13:43:54 Re: Do docs miss information about timing of triggers?
Previous Message Thomas Güttler 2016-05-26 12:50:10 Do docs miss information about timing of triggers?