Rod Taylor <rod(dot)taylor(at)gmail(dot)com> writes:
> In the attached script, the second insert into t2 (as part of the CTE)
> should succeed.
No, I don't think so. You declared the check function as STABLE which
means it is confined to seeing the same snapshot as the surrounding query.
So it can't see anything inserted by that query.
Possibly it'd work as you wish with a VOLATILE function.
regards, tom lane