Обсуждение: WHo is locking me?

Поиск
Список
Период
Сортировка

WHo is locking me?

От
"Abraham, Danny"
Дата:
Hi,

A process hangs forever.
When using this query...

SELECT pg_stat_get_backend_pid(s.backendid) AS procpid,
       pg_stat_get_backend_activity(s.backendid) AS current_query
    FROM (SELECT pg_stat_get_backend_idset() AS backendid) AS s
where pg_stat_get_backend_activity(s.backendid) not like '<insuff%'
and  pg_stat_get_backend_activity(s.backendid) not like '<IDLE>';


I get...


 procpid |                            current_query
---------+---------------------------------------------------------------------
   26702 | SELECT pg_stat_get_backend_pid(s.backendid) AS procpid,
         :        pg_stat_get_backend_activity(s.backendid) AS current_query
         :     FROM (SELECT pg_stat_get_backend_idset() AS backendid) AS s
         : where pg_stat_get_backend_activity(s.backendid) not like '<insuff%'
         : and  pg_stat_get_backend_activity(s.backendid) not like '<IDLE>';
   21282 | update cmr_lastno set lastisn=lastisn+1 where tablename='DANNY';
   25936 | <IDLE> in transaction  <== This is the locker

And the question:
- What exactly is the locker doing?
- Can I retrieve the Client PID somewhere (then by process name I will dive into the code).

Thanks a lot

Danny Abraham
BMC Software
CTM&D Business Unit
972-52-4286-513
danny_abraham@bmc.com


Re: WHo is locking me?

От
"Kevin Grittner"
Дата:
"Abraham, Danny" <danny_abraham@bmc.com> wrote:

>  procpid |                            current_query
>
---------+---------------------------------------------------------------------
>    25936 | <IDLE> in transaction  <== This is the locker

> - What exactly is the locker doing?

At the time you ran that, it wasn't doing anything in the database,
but it had not committed or rolled back the transaction it had
previously started.

> - Can I retrieve the Client PID somewhere (then by process name I
> will dive into the code).

If you're on Linux and this is a TCP connection, netstat should make
that easy.  Are you?

-Kevin