Re: Where are updates from inside transactions visible? - Mailing list pgsql-general

From Craig Ringer
Subject Re: Where are updates from inside transactions visible?
Date
Msg-id 48FDE56E.1010301@postnewspapers.com.au
Whole thread Raw
In response to Where are updates from inside transactions visible?  ("Rob Richardson" <Rob.Richardson@rad-con.com>)
List pgsql-general
Rob Richardson wrote:
> Greetings again!
>
> Suppose I have a table named "myTable" with fields named "item" and
> "value".  Item X has a value of 1.  Inside a C++ application, I begin a
> transaction, open the table, change Item X's value to 2, and go to
> sleep.  The transaction is still active.  In PGAdmin, I open an SQL
> window and execute "select * from myTable".  What value do I see for
> item X?  Will it still be 1 because the transaction in which it was
> changed to 2 is still open?

Yes, in both the READ COMMITTED and SERIALIZABLE isolation levels.
"Dirty" reads, ie reads of uncomitted data, are AFAIK just not possible
in PostgreSQL (though one uncommitted transaction can still affect
another though locks etc).

If you're unsure of these things, (a) read the excellent documentation
available on transaction isolation levels, and (b) test with multiple
simultaneous psql sessions.

--
Craig Ringer

pgsql-general by date:

Previous
From: "Sergey Konoplev"
Date:
Subject: Re: index scan leads to result that is different from sec scan after upgrading to 8.3.4
Next
From: Tom Lane
Date:
Subject: Re: exposing more parse was: Re: tsearch2: setting weights on tsquery