"Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov> writes:
> ... It wasn't even clear to me that it was
> OK to have one security definer function call another, based on the
> code comment I quoted, so I didn't want to spend more hours on
> attempting to create a test case if it simply wasn't supported.
Yes, that's definitely *supposed* to work, though I'll grant that there
could be bugs there. It's hard to see how it'd be a race condition
though.
On reflection what seems most likely is simply that turning these
otherwise-inlineable SQL functions into SECURITY DEFINER disabled
inline-ing them, resulting in catastrophic degradation of the generated
plans, such that they took a lot longer than you were accustomed to
(they shouldn't have been "hung" though).
regards, tom lane