Dean Rasheed <dean_rasheed(at)hotmail(dot)com> writes:
> I have a table with a trigger on it, designed to run security
> invoker. In my real code this accesses a temporary table belonging to
> the invoker.
> Then I have second table, together with a foreign key between them and
> a delete cascade from the second to the first table. It appears that
> when I delete from this second table, the deletes cascade as expected,
> but the trigger is invoked as if it were security definer, which I
> didn't expect.
Referential integrity actions execute as the owner of the table, so
anything triggered by them would execute as the owner too.
regards, tom lane