Thank you very much for your answer. I think that I am seeing those self transaction id locks as "ExclusiveLocks" Would you expect to see an "ExclusiveLock" with a query of type Select (not Select Update or Update or Insert)? -----Original Message----- From: pgsql-general-owner@xxxxxxxxxxxxxx [mailto:pgsql-general-owner@xxxxxxxxxxxxxx] On Behalf Of Michael Fuhr Sent: Thursday, February 23, 2006 10:05 AM To: Carlos Oliva Cc: pgsql-general@xxxxxxxxxxxxxx Subject: Re: [GENERAL] ExclusiveLock without a relation in pg_locks 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 ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@xxxxxxxxxxxxxx so that your message can get through to the mailing list cleanly