Re: UPSERT

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: "Simon Riggs" <simon@2ndquadrant.com>
Cc: "Heikki Linnakangas" <heikki@enterprisedb.com>, "Andrew Dunstan" <andrew@dunslane.net>, "Jonathan Scher" <js@oxado.com>, pgsql-hackers@postgresql.org
Date: 2007-03-02T18:19:58Z
Lists: pgsql-hackers
"Simon Riggs" <simon@2ndquadrant.com> writes:
> Seems like we should try to locate a row first, then INSERT if we cannot
> find one. That's slower on INSERT but more balanced overall

Except it still has the race condition.

> I'm a bit surprised the TODO didn't mention the MERGE statement, which
> is the SQL:2003 syntax for specifying this as an atomic statement.

I believe we concluded that MERGE doesn't actually do quite what people
want/expect.  Please go back and read the archives.

			regards, tom lane