Re: isn't "insert into where not exists" atomic? - Mailing list pgsql-general

From Tom Lane
Subject Re: isn't "insert into where not exists" atomic?
Date
Msg-id 26970.1296761016@sss.pgh.pa.us
Whole thread Raw
In response to Re: isn't "insert into where not exists" atomic?  (Mage <mage@mage.hu>)
Responses Re: isn't "insert into where not exists" atomic?  (Mage <mage@mage.hu>)
List pgsql-general
Mage <mage@mage.hu> writes:
> The main question is that isn't "insert into ... select ... where not
> exists" atomic?

No, it isn't: it *will* fail in the presence of other transactions doing
the same thing, because the EXISTS test will only see rows that
committed before the command started.  You might care to read the
manual's chapter about concurrency:
http://www.postgresql.org/docs/9.0/static/mvcc.html

            regards, tom lane

pgsql-general by date:

Previous
From: Scott Marlowe
Date:
Subject: Re: upgrade
Next
From: Bob Price
Date:
Subject: how to avoid repeating expensive computation in select