Excerpts from Derrick Rice's message of jue jul 22 12:27:31 -0400 2010:
> Is it possible for the contents of reference_table to differ from the first
> select to the select on the right hand side of the union? (e.g. because
> some other transaction committed additional rows).
No.
> If it is not possible, why? Is it because a single query always executes
> with serializable (effective) isolation?
Yes. (Actually: it's because a query is always executed with a single
snapshot).
> Is it because postgresql
> recognizes that the query is repeated and uses a single result set in both
> sides of the union?
No.
> Is this behavior that is part of postgresql intentionally, or a side effect
> that I should not rely on?
It is intentional and will not be changed.