Matthew Woodcraft <mattheww(at)chiark(dot)greenend(dot)org(dot)uk> writes:
> If I use a READ COMMITTED transaction, the documentation says that a
> query in my transaction may see changes which were committed by other
> transactions after my transaction started.
> My question is, is it guaranteed that a SELECT in my transaction will
> see changes previously committed by other transactions, or is it only a
> possibility?
> By 'previously committed', I mean 'committed by a transaction which held
> a row-level lock which my transaction has since obtained'.
Yes, that will work. The SELECT sees rows that were committed at the
instant it starts, which will be after the other xact completes if you
use a FOR UPDATE lock.
regards, tom lane