On 05/27/2015 09:40 AM, Glyn Astill wrote:
>> From: Andreas Joseph Krogh <andreas@visena.com>
>> To: pgsql-hackers@postgresql.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@joh.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
similarthen 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.
>
>
It's come up before. You can read some history here:
<http://postgresql.nabble.com/pre-commit-triggers-td5778575.html>
It seems clear there is some sort of unmet need here.
cheers
andrew