Re: Can I use row-level locks to sequence READ COMMITTED transactions? - Mailing list pgsql-general

From Tom Lane
Subject Re: Can I use row-level locks to sequence READ COMMITTED transactions?
Date
Msg-id 182.1027369867@sss.pgh.pa.us
Whole thread Raw
In response to Can I use row-level locks to sequence READ COMMITTED transactions?  (Matthew Woodcraft <mattheww@chiark.greenend.org.uk>)
Responses Re: Can I use row-level locks to sequence READ COMMITTED transactions?  ("Craig Sturman" <craig@emedscentral.com>)
List pgsql-general
Matthew Woodcraft <mattheww@chiark.greenend.org.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

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Error abort transaction behaviour
Next
From: "Craig Sturman"
Date:
Subject: Re: Can I use row-level locks to sequence READ COMMITTED transactions?