jueves, 1 de octubre de 2015

Matar consultas colgadas postgres

Muchas veces tenemos consultas que estan colgadas por consumir recursos o cualquier otro tema, para matarlas primero tenemos que quedarnos con el pid con la siguiente consulta:

psql -h servidor -U postgres -d postgres (nos conectamos al server)

postgres=# SELECT  * FROM pg_stat_activity WHERE datname='mi base de datos';

Luego podemos matar solo una consulta por el pid

postres=# SELECT pg_terminate_backend(numero de pid);


o matar todas las consultas de una base de datos

postgres=# SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE datname='mi base de datos';


2 comentarios:

  1. hola, que tal, sigo tu pagina por algun tiempo, y nunca habia comentado nada, pero ahora queria hacerlo, supongo que ando sencible .... total, gracias por compartir, me has ayudado mucho a aclarar ideas y errores. Saludos.

    ResponderEliminar
  2. Buenos días, que sucede cuando la query nunca se muere?, me esta pasando que ni desde el server status ni por query, tanto con pg_terminate_backend como con pg_cancel_backend mi query no se muere, me devuelve true pero no se muere me sigue lockeando

    Gracias

    ResponderEliminar