Re: [GENERAL] How to detect Postgres deadlocks?

Поиск
Список
Период
Сортировка
От Scott Marlowe
Тема Re: [GENERAL] How to detect Postgres deadlocks?
Дата
Msg-id 1156365622.7223.62.camel@state.g2switchworks.com
обсуждение исходный текст
Список 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 по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: [GENERAL] How to detect Postgres deadlocks?
Следующее
От: "Sriram Dandapani"
Дата:
Сообщение: pg_hba changes not honored