Re: deadlock detected, only selects (not select-for-update)

Поиск
Список
Период
Сортировка
От Gregory Stark
Тема Re: deadlock detected, only selects (not select-for-update)
Дата
Msg-id 878x5sub7k.fsf@oxford.xeocode.com
обсуждение исходный текст
Ответ на deadlock detected, only selects (not select-for-update)  (Gábor Farkas <gabor@nekomancer.net>)
Список pgsql-general
Gábor Farkas <gabor@nekomancer.net> writes:

> BEGIN; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
> now a lot of selects, but nothing complicated, all of the form of "SELECT x
> FROM y WHERE a=b", with some simple joins, and SELECT DISTINCT and ORDER BY.
> END;
>
> can any of these commands cause the mentioned deadlock?

No, a plain select without a "FOR SHARE" or "FOR UPDATE" can't cause a
deadlock.

One thing to be aware of is that In 7.4 foreign keys can cause spurious
deadlocks. Two updates against different records in a table will lock the
referenced keys. If they lock the referenced keys in different orders then
it's possible for them to deaadlock. This is addressed in more recent versions
of PostgreSQL.


--
  Gregory Stark
  EnterpriseDB          http://www.enterprisedb.com

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

Предыдущее
От: cluster
Дата:
Сообщение: Re: Selecting K random rows - efficiently!
Следующее
От: Tom Lane
Дата:
Сообщение: Re: (Never?) Kill Postmaster?