Re: Insert Or update - Mailing list pgsql-general

From Greg Stark
Subject Re: Insert Or update
Date
Msg-id 87n05238k7.fsf@stark.xeocode.com
Whole thread Raw
In response to Re: Insert Or update  (Bruno Wolff III <bruno@wolff.to>)
List pgsql-general
Bruno Wolff III <bruno@wolff.to> writes:

> This was discussed on the list over the last couple of days.
> There is no update or insert statement in postgres.
> You can do an update and check the number of rows affected and if it
> is 0 do the insert.

I prefer to do the insert and if it fails due to a unique key constraint then
do the update. If you don't have any deletes then this is safe from race
conditions whereas the update first method could fail if two people do updates
and then both try to insert.

In practice actually I rarely have to do this.

> However unless you lock the table while doing this, you have to be prepared
> to handle errors.

--
greg

pgsql-general by date:

Previous
From: Igor Shevchenko
Date:
Subject: Re: Insert Or update
Next
From: Bruno Wolff III
Date:
Subject: Re: Insert Or update