Re: can we add SKIP LOCKED to UPDATE?

Поиск
Список
Период
Сортировка
От Craig Ringer
Тема Re: can we add SKIP LOCKED to UPDATE?
Дата
Msg-id CAMsr+YG3+-97DinPKxFNH46u56hXgoyHDX-3SqxZogQtoc7VaA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: can we add SKIP LOCKED to UPDATE?  (Jeff Janes <jeff.janes@gmail.com>)
Ответы Re: can we add SKIP LOCKED to UPDATE?
Список pgsql-hackers
On 10 November 2015 at 01:38, Jeff Janes <jeff.janes@gmail.com> wrote:

> this would be handy in conjunction with LIMIT
> (which also doesn't exist for UPDATE right now).

... and, in turn, UPDATE ... ORDER BY ..., since LIMIT without ORDER
BY is usually not a great choice.

I'd quite like to see UPDATE ... ORDER BY for deadlock avoidance
anyway. Right now doing it really reliably seems to require a SELECT
... FOR UPDATE, then an UPDATE on the SELECTed tuples only. If you're
in READ COMMITTED you can't assume the UPDATE won't see new tuples
since the SELECT so you need to supply a key-list to the UPDATE
directly or via a wCTE.

I'm constantly surprised that people don't seem to hit deadlocks
between updates more often. I guess the number of cases where
multi-row updates on overlapping but non-identical sets of rows occur
concurrently must be fairly limited in practice.

Using SKIP LOCKED in a wCTE with an UPDATE is clunkier but not that
bad. So I don't think it's drastically important, but it would be
nice.


-- Craig Ringer                   http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services



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

Предыдущее
От: Amit Langote
Дата:
Сообщение: Re: [PROPOSAL] VACUUM Progress Checker.
Следующее
От: Craig Ringer
Дата:
Сообщение: Re: pg_receivexlog: spurious error message connecting to 9.3