Re: ExclusiveLock without a relation in pg_locks

Поиск
Список
Период
Сортировка
От Michael Fuhr
Тема Re: ExclusiveLock without a relation in pg_locks
Дата
Msg-id 20060223150529.GA18351@winnie.fuhr.org
обсуждение исходный текст
Ответ на ExclusiveLock without a relation in pg_locks  ("Carlos Oliva" <carlos@pbsinet.com>)
Ответы Re: ExclusiveLock without a relation in pg_locks  ("Carlos Oliva" <carlos@pbsinet.com>)
Список pgsql-general
On Thu, Feb 23, 2006 at 08:54:36AM -0500, Carlos Oliva wrote:
> Would connections to a database require crating an extra ExclusiveLock? We
> have some connections to the database that happen to be "idle in
> transaction" and their pids have a granted "Exclusive Lock" in pg_locks.  I
> cannot discern the tables where the ExclusiveLock is being held because the
> relation field is blank.

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

"Every transaction holds an exclusive lock on its transaction ID
for its entire duration.  If one transaction finds it necessary to
wait specifically for another transaction, it does so by attempting
to acquire share lock on the other transaction ID.  That will succeed
only when the other transaction terminates and releases its locks."

If the relation column is null then you're probably seeing these
transaction ID locks.

> How could I find out the tables that are being locked when I see an
> "ExclusiveLock" in pg_locks.

An easy way to convert a relation's oid to its name is to cast it
to regclass:

SELECT relation::regclass AS relname, * FROM pg_locks;

--
Michael Fuhr

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

Предыдущее
От: Martijn van Oosterhout
Дата:
Сообщение: Re: ExclusiveLock without a relation in pg_locks
Следующее
От: Emi Lu
Дата:
Сообщение: SQL TYPE MAP such as SQL_CHAR, SQL_NUMERIC , etc