Re: Replaceing records

Поиск
Список
Период
Сортировка
От Stephan Szabo
Тема Re: Replaceing records
Дата
Msg-id 20030904122822.O44205-100000@megazone.bigpanda.com
обсуждение исходный текст
Ответ на Re: Replaceing records  (Richard Ellis <rellis9@yahoo.com>)
Ответы Re: Replaceing records  (Richard Ellis <rellis9@yahoo.com>)
Список pgsql-general
On Thu, 4 Sep 2003, Richard Ellis wrote:

> On Thu, Sep 04, 2003 at 12:17:35PM +0200, Csaba Nagy wrote:
> > [philosophical post regarding a missing feature of Postgres]
> >
> > I found there's no way to avoid failed inserts because of
> > unique constraint violations, causing automatic roll-back of the running
> > transaction.
> >
> > Now contention on insert has a quite high probability for this operation
> > in our application.
>
> Did you ever try this:
>
> insert into test (a, b, c, d)
>   (select 1, 2, 3, 4 where not exists
>     (select 1 from test where a=1 and b=2 and c=3 and d=4)
>   );
>
> If your table contains a=1, b=2, c=3, and d=4, nothing will happen, and
> there will be no failed transaction.  If your table does not contain a=1,
> b=2, c=3, and d=4, you'll get an insert of a row containing 1, 2, 3, 4.

Unfortunately that doesn't work if two transactions want to insert a row
containing 1,2,3,4 that are running concurrently.



В списке pgsql-general по дате отправления:

Предыдущее
От: Stephan Szabo
Дата:
Сообщение: Re: descending Indexes
Следующее
От: Jan Wieck
Дата:
Сообщение: Re: pg_autovacuum