Re: Triggers on transaction?

From: Glyn Astill <glynastill(at)yahoo(dot)co(dot)uk>
To: Andreas Joseph Krogh <andreas(at)visena(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Triggers on transaction?
Date: 2015-05-27 13:40:41
Message-ID: 511068439.531944.1432734041583.JavaMail.yahoo@mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


> From: Andreas Joseph Krogh <andreas(at)visena(dot)com>
>To: pgsql-hackers(at)postgresql(dot)org
>Sent: Wednesday, 27 May 2015, 13:55
>Subject: Re: [HACKERS] Triggers on transaction?
>
>
>På onsdag 27. mai 2015 kl. 12:42:29, skrev Marko Tiikkaja <marko(at)joh(dot)to>:
>On 5/27/15 12:39 PM, Jordan Gigov wrote:
>>> I found myself in need of triggers that are run only once per transaction,
>>> rather than per row or statement within the transaction. Meaning it will
>>> always be deferred and never called twice for the same transaction.
>>
>>What's the use case?
>
>
>I've often needed this for stuff like:
>
>UPDATE some_table SET col = 'foo' where id = 1;
>UPDATE some_table SET col = 'bar' where id = 1;
>
>I want the "on-tx"-trigger to only run once, and on the last update of "col" so that it sees 'bar'.
>

I often have similar requirements, and usually end up having to track what's already been updated with a trigger or similar then finally do the work in a deferred trigger. I'd have thought something more like FOR EACH { ROW | STATEMENT } PER TRANSACTION would be more fitting.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Noah Misch 2015-05-27 13:51:43 Re: [COMMITTERS] pgsql: Add pg_audit, an auditing extension
Previous Message Stephen Frost 2015-05-27 13:24:29 Re: [COMMITTERS] pgsql: Add pg_audit, an auditing extension