Re: how to release a transaction lock on a table? - Mailing list pgsql-general

From Michael Fuhr
Subject Re: how to release a transaction lock on a table?
Date
Msg-id 20050131193043.GA50502@winnie.fuhr.org
Whole thread Raw
In response to how to release a transaction lock on a table?  (Si Chen <schen@graciousstyle.com>)
Responses Re: how to release a transaction lock on a table?
List pgsql-general
On Mon, Jan 31, 2005 at 10:13:26AM -0800, Si Chen wrote:

> Hello everyone.  I am trying to do an ALTER TABLE, but it hangs
> indefinitely.  I think the table is locked from a transaction, and in
> pg_locks I found:
> relation  75907
> database 74861
> pid 29604
> mode AccessExclusiveLock
> granted f

Look for other processes that have a lock on the table:

SELECT * FROM pg_locks WHERE relation = 75907;

If you have stats_command_string turned on then you can query
pg_stat_activity to see what the other processes are doing.

> Is there a way to release this lock?  Or does the database need to
> re-started?

Before taking drastic steps like restarting the database, find out
who holds the conflicting lock and why.  You might have an application
sitting idle in a transaction that it should be committing or rolling
back, in which case the application should probably be fixed.

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Dereferencing a 2-dimensional array in plpgsql
Next
From: Steve Crawford
Date:
Subject: Re: Mail list / web issues