El 08/09/11 21:11, Max López Ulloa escribió:
Estimados,

Hoy se me creo un problema con un procedimiento que actua en una tabla "x", llamo una función de inserción la cual hace insert o update dependiendo si existe o no el registro, lleva 2 años en funcionamiento el sistema, pero desde ayer tiene un comportamiento extraño.

Llega un punto en que el proceso se detiene así sea en eliminacion, insercion o actualizacion, pero solo de esa función ya que el editor sigue funcionando y puedo hacer el resto de consultas a esa misma tabla u otras tablas; la tabla solo 26000 registros.

Viendo el "server status" de postgres veo que la el procedimiento esta "esperando" (waiting), en otras palabras la base no suelta el procedimiento porque aun no termina de ejecutar la tarea.

He hecho de todo reindexacion, vacuum, e incluso copie la base entera con otro nombre y redireccioné la aplicación a la nueva base, solo me toca cambiar de servidor pero creo que sería el ultimo recurso.

Mi pregunta es, como puedo ver exactamente que esta haciendo postgres que se detiene y no termina, ya que haciendo un debug al procedimiento puedo ver que la funcion continua paso a paso pero dentro hay "delete", "insert" y "update" que no puedo ver si se hacen.


Gracias por la ayuda.

--
Max Lopez U.

SELECT
    w.current_query as waiting_query,
    w.procpid as w_pid,
    w.usename as w_user,
    l.current_query as locking_query,
    l.procpid as l_pid,
    l.usename as l_user,
    t.schemaname || '.' || t.relname as tablename
from pg_stat_activity w
    join pg_locks l1 on w.procpid = l1.pid and not l1.granted
    join pg_locks l2 on l1.relation = l2.relation and l2.granted
    join pg_stat_activity l on l2.pid = l.procpid
    join pg_stat_user_tables t on l1.relation = t.relid
where w.waiting;

Esta consulta devuelve el ID del proceso, usuario, consulta que bloqueada y la que bloquea, y el esquema y tabla que causa el bloqueo.

Saludos, Bonne

-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a