Re: [GENERAL] How to detect Postgres deadlocks? - Mailing list pgsql-admin

From Scott Marlowe
Subject Re: [GENERAL] How to detect Postgres deadlocks?
Date
Msg-id 1156365622.7223.62.camel@state.g2switchworks.com
Whole thread Raw
List pgsql-admin
On Wed, 2006-08-23 at 14:45, andre wrote:
> Hi,
>
> We are using Postgres 7.4.5, and I'm trying to find a way to detect
> and gather deadlock information.
>
> 1) Which sql queries should I use to detect deadlocks while they are
> happening? I see the deadlock info on the log file, but I'd like to
> query the database to see them as they happen...
>
> 2) Which fields on which pg catalogs indicate a deadlock condition?
>
> 3) How can I get more info about the processes involved on deadlocks?
>
> 4) How can I get the sql statements associated with the processes
> involved on deadlocks?
>
> On the logs I see the procpids of the processes involved on past
> deadlocks, but I 'd like to know how to get those procpids, and how to
> get the "current_query" associated with them...

I'm not sure what you're really looking for.  When PostgreSQL detects a
deadlock, it aborts one of the queries to stop the deadlock right away.

test=> update l set b=22 where i=2;
ERROR:  deadlock detected
DETAIL:  Process 25854 waits for ShareLock on transaction 11654043;
blocked by process 24918.
Process 24918 waits for ShareLock on transaction 11654047; blocked by
process 25854.
test=>

That deadlock detection took about 1 second and rolled back my
transaction immediately.  I'm not sure you can detect them in real time
any better than pgsql can.

Or are you experiencing some kind of deadly embrace problem???

Tell us what problem you're having and maybe we can come up with some
better advice.

pgsql-admin by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: [GENERAL] How to detect Postgres deadlocks?
Next
From: "Sriram Dandapani"
Date:
Subject: pg_hba changes not honored