Excerpts from Hellmuth Vargas's message of mié ago 29 17:33:40 -0400 2012: > Hola Lista > > tiempo sin escribir!!! En múltiples oportunidades se presentan > transacciones que pueden demorar mucho tiempo y uno desea indagar que > tablas o en general objetos están involucradas en el mismos > para determinar problemas de indices, mantenimiento, etc. > > He probado y ajustado consultas disponible en varias fuentes (la principal > http://wiki.postgresql.org/wiki/Lock_Monitoring) pero ninguna logra sacar > el nombre y/o tipo de todos los objetos involucrados en un bloqueo > > esta es la ultima consulta que estoy manejando para aquellos bloqueos de > mas de 2 minutos > > select pg_stat_activity.procpid,pg_class.relname,pg_locks.transactionid, > pg_locks.mode from pg_stat_activity,pg_locks left outer join pg_class on > (pg_locks.relation = pg_class.oid) where > pg_locks.pid=pg_stat_activity.procpid and > pg_stat_activity.current_query<>'<IDLE>' and > current_timestamp-xact_start>interval '2 minutes' order by query_start > > Alguien tendría una consulta mejor? les agradezco de antemano su aporte!!
Normalmente cuando tienes bloqueos sin explicación puede deberse a llaves foráneas. En ese caso hay candados granted=true con locktype=tuple en pg_locks que están tomados por transacciones que además tienen un candado granted=false asociados a otra transacción. Lo que esto significa es que esa otra transacción tiene bloqueado la tupla en cuestión, pero esto no queda representado en pg_locks. Se supone que esto está parcialmente explicado en esta presentación: http://lanyrd.com/2011/pgbr/skdgz/ .. pero vaya, veo que no están las láminas. Ah, aquí: http://pgbr.postgresql.org.br/2011/slides/65.pdf Quizás te sirva de algo. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services - Enviado a la lista de correo pgsql-es-ayuda ([email protected]) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda
