Thank you for your quick reply!
I understand your point of view, however the fact remains that you want the
action to be done as though it was the DEFINER user that did it, and that
has not changed even thoug the function itself has finished?
regards,
aasmund.
Tom Lane writes:
> "Aasmund Midttun Godal" <postgresql@aasmund.com> writes:
>> When an operation is done throug a SECURITY DEFINER style function and
>> causes a trigger the current_user depends on whether it is executed BEFORE
>> or AFTER. I currently run 7.3.2. I believe the BEFORE behavior is correct
>> while the AFTER behavior is wrong. A bug? already fixed?
>
> An AFTER trigger is not fired until the interactive statement is about
> to complete --- ie, after the SECURITY DEFINER function has returned.
> There has been previous discussion (inconclusive) about changing the
> time of invocation of AFTER triggers, but given the current timing this
> is the behavior I'd expect.
>
> regards, tom lane
Aasmund Midttun Godal
aasmund@godal.com - http://godal.com
+47 40 45 20 46 - Leiv Tronstadsvei 2, NO-7051 Trondheim