Re: Tracking down a deadlock

Поиск
Список
Период
Сортировка
От Bill Moseley
Тема Re: Tracking down a deadlock
Дата
Msg-id 20090505004256.GA2312@hank.org
обсуждение исходный текст
Ответ на Re: Tracking down a deadlock  (Bill Moseley <moseley@hank.org>)
Ответы Re: Tracking down a deadlock  (Alvaro Herrera <alvherre@commandprompt.com>)
Список pgsql-general
I seemed to have resolved this issue by a:

    LOCK TABLE account IN EXCLUSIVE MODE;

at the very start of the transaction to prevent that transaction
from running in parallel.

The transaction has quite a few selects and inserts and a few updates.
I was hoping to not lock at the start of the transaction which will
effectively serialize that code.

The update that was causing the deadlock was just about the last
command in the transaction.  Removing that update and the deadlocks
go away.

I had hoped that a LOCK near the end of the transaction (before that UPDATE
that deadlocks) would work.  Oddly, it didn't and the deadlock was reported
then on the LOCK itself, plus my deadlock_timeout (60 seconds) didn't seem to
apply in that case.   A mystery.

Thanks for the help,


--
Bill Moseley.
moseley@hank.org
Sent from my iMutt

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Calculating product from rows - (aggregate product )
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: Tracking down a deadlock