On Jan3, 2011, at 17:21 , Robert Haas wrote: > On Mon, Jan 3, 2011 at 11:08 AM, Heikki Linnakangas >> In serializable mode you get a serialization error. > > I don't think this part is true. You can certainly do this: > > CREATE TABLE test (a int); > BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; > SELECT * FROM test; > <in another session, insert (1) into test> > LOCK TABLE test IN SHARE MODE; -- or just LOCK TABLE test, if you prefer > SELECT * FROM test; -- still ain't there > INSERT INTO test VALUES (1);
In SERIALIZABLE mode, you need to take any table-level locks before obtaining a snapshot. There's even a warning about this in the docs somewhere IIRC... best regards, Florian Pflug -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers