Thread: Invoke trigger after commit

Invoke trigger after commit

From
Jan Strube
Date:
Hi,

is there a way to invoke a trigger only if the current transaction is
committed?
The problem is that my trigger does some kind of logging outside the
database and therefore must not be invoked if the transaction is rolled
back.

Thanks in advance
Jan

Re: Invoke trigger after commit

From
"Alexander Staubo"
Date:
On 5/10/07, Jan Strube <js@deriva.de> wrote:
> is there a way to invoke a trigger only if the current transaction is
> committed?
> The problem is that my trigger does some kind of logging outside the
> database and therefore must not be invoked if the transaction is rolled
> back.

PostgreSQL does not implement a kind of "on commit" trigger, but you
can simulate them using "notify" and "listen", which are
transactional:

  http://www.postgresql.org/docs/8.2/interactive/sql-notify.html

Alexander.

Re: Invoke trigger after commit

From
Sim Zacks
Date:
Use a Listen/Notify daemon application and put the Notify on the last line of the transaction.
If it does the notify that means that the transaction was completed successfully.

Sim

Jan Strube wrote:
> Hi,
>
> is there a way to invoke a trigger only if the current transaction is
> committed?
> The problem is that my trigger does some kind of logging outside the
> database and therefore must not be invoked if the transaction is rolled
> back.
>
> Thanks in advance
> Jan
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
>       subscribe-nomail command to majordomo@postgresql.org so that your
>       message can get through to the mailing list cleanly
>