Re: Concurrency question

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Concurrency question
Дата
Msg-id 28946.1247002835@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Concurrency question  (Scott Marlowe <scott.marlowe@gmail.com>)
Ответы Re: Concurrency question  (Scott Marlowe <scott.marlowe@gmail.com>)
Список pgsql-admin
Scott Marlowe <scott.marlowe@gmail.com> writes:
> 2009/7/7 Mark Steben <msteben@autorevenue.com>:
>> I ran a vacuum verbose analyze on a database over the weekend. �It ran fine
>> until it tried to vacuum a table less than 2000 pages. �It successfully
>> acquired a ShareUpdateExclusiveLock as I would expect.
>> There was an idle thread that had an AccessSharelock on the same table.
>> Compatible locks I would think. But the vacuum hung until the
>> AccessSharelock thread was cancelled - 11 hours in all.
>> This table normally vacuums in less than 15 seconds. � This AccessSharelock
>> came from a query that formerly was part of a transaction sent from a remote
>> server.

> Not sure what you mean by formerly was part of a transaction.  If the
> transaction has rolled back, then the vacuum can proceed.  If the
> transaction is till open, then it's not formerly a part of it, it IS a
> part of it.  Either way, open transactions block vacuum on updated
> tables.

Uh, no, they don't.

The described situation is impossible: AccessSharelock doesn't block
ShareUpdateExclusiveLock.  There must have been some other lock or
attempted lock involved (perhaps at a page or tuple level rather than
the whole-relation level).  But we can't tell much from this much detail.

            regards, tom lane

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

Предыдущее
От: Scott Marlowe
Дата:
Сообщение: Re: Concurrency question
Следующее
От: Scott Marlowe
Дата:
Сообщение: Re: Concurrency question