Re: About checking all dead lock tables

Поиск
Список
Период
Сортировка
От Michael Fuhr
Тема Re: About checking all dead lock tables
Дата
Msg-id 20060407021458.GA55452@winnie.fuhr.org
обсуждение исходный текст
Ответ на About checking all dead lock tables  (Emi Lu <emilu@encs.concordia.ca>)
Ответы Re: About checking all dead lock tables  ("Florian G. Pflug" <fgp@phlo.org>)
Список pgsql-general
On Thu, Apr 06, 2006 at 03:36:33PM -0400, Emi Lu wrote:
> How to check whether a table is locked?

You can monitor locks by querying the pg_locks view.

http://www.postgresql.org/docs/8.0/interactive/monitoring-locks.html
http://www.postgresql.org/docs/8.0/interactive/view-pg-locks.html

Only a few operations lock entire tables; for more information see
the Concurrency Control chapter in the documentation.

http://www.postgresql.org/docs/8.0/interactive/mvcc.html

> Is there a way that I can find all deadlocks under postgresql 8.0.1 ?

Are you sure you mean "deadlocks"?  Deadlock occurs when transaction
A holds a lock that transaction B wants and transaction B holds a
lock that transaction A wants; PostgreSQL detects this condition
and aborts one of the transactions, allowing the other to continue.
By default this happens after one second (see the deadlock_timeout
setting).

Perhaps you want to see pending or blocked lock attempts, i.e.,
locks that have been requested but are not yet acquired because
another transaction holds a conflicting lock.  If that's the case
then look for rows in pg_locks where "granted" is false.

--
Michael Fuhr

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

Предыдущее
От: "Michael Schmidt"
Дата:
Сообщение: Re: programatic database dump
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Debian package for freeradius_postgresql module