Re: ExclusiveLock without a relation in pg_locks

From: Michael Fuhr <mike(at)fuhr(dot)org>
To: Carlos Oliva <carlos(at)pbsinet(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: ExclusiveLock without a relation in pg_locks
Date: 2006-02-23 22:21:22
Message-ID: 20060223222121.GA54502@winnie.fuhr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2006-02-23 22:27:09 Re: pg_autovacuum on Windows triggers string warning
Previous Message Jim C. Nasby 2006-02-23 22:21:19 Re: now() time off