From: | David Acevedo Salazar <dgacevedo(at)yahoo(dot)es> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Terminar sesión de usuario IDLE |
Date: | 2007-07-30 16:11:23 |
Message-ID: | 46AE0DAB.1020900@yahoo.es |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola a todos los de la lista
Tengo el siguiente problema y quisiera ver si Uds se han encontrado
con este problema y que alternativas ha aplicado para terminar la sesión
de un usuario que se encuentra en estado "<IDLE> in transaction" y que
aparece con bloqueos de registros, en la actualidad estoy ejecutando el
siguiente SQL para detectar bloqueos :
select pg_class.relname, pg_locks.transaction, pg_locks.mode,
pg_locks.granted as "g",
pg_stat_activity.query_start,
age(now(),pg_stat_activity.query_start) as "age",
pg_stat_activity.procpid,
pg_database.datname , pg_stat_activity.client_addr,
pg_locks.page, pg_locks.tuple, pg_locks.relation,
rpad(pg_stat_activity.current_query, 200)
from pg_stat_activity,pg_database , pg_locks
left outer join pg_class on
(pg_locks.relation = pg_class.oid)
where pg_locks.pid=pg_stat_activity.procpid
and pg_locks.database = pg_database.oid
and pg_locks.mode like '%ExclusiveLock'
order by query_start;
En algunas ocasiones realizar un pg_cancel_backend(pid) de esas
sesiones logra hacer que desaparezca el bloqueo pero en otras ocasiones
este comando parece no funcionar .. he leido que ejecutar un kill -9 pid
no es recomendable y por ahora reiniciar mi BD tampoco es factible ...
que otras alternativas me siguieren ?
Gracias
David Acevedo Salazar
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2007-07-30 16:32:34 | Re: Terminar sesión de usuario IDLE |
Previous Message | Edwin Quijada | 2007-07-30 15:23:02 | Re: Sobre vistas materializadas |