Thread: Invoke trigger after commit
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
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.
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 >