On Thu, Feb 23, 2006 at 02:10:22PM -0500, Carlos Oliva wrote: > The ExclusiveLock seems to be granted on the transaction id instead of > tables. So I am guessing that, for a connection, the first lock is granted > to the transaction id and later other locks are granted on specific tables. Right. Your output shows that the relation locks are AccessShareLock, which is what the documentation says an ordinary SELECT acquires. Other operations acquire stronger locks, depending on what they need to prevent other transactions from doing until this transaction completes. Most of the time you don't need to worry about any of this unless a transaction appears to be blocked (stuck); then you can query pg_locks and look for locks where the granted column is false and diagnose from there. -- Michael Fuhr