linea - ¿Detener(largo) la consulta SQL en PostgreSQL cuando la sesión o las solicitudes ya no existen?
manual de postgresql 10 en español pdf (2)
Para detener la consulta:
SELECT pg_cancel_backend(procpid);
Para matar la conexión de la base de datos:
SELECT pg_terminate_backend(procpid);
Para obtener una descripción general de las transacciones actuales, para obtener las identificaciones de procedimiento:
SELECT * FROM pg_stat_activity;
http://www.postgresql.org/docs/current/interactive/functions-admin.html
No estoy seguro de por dónde empezar para tratar este problema, pero si tengo una aplicación web AJAX que envía solicitudes al servidor y ejecuta largas consultas en la base de datos (postgresql en mi caso), ¿hay alguna manera de detener o eliminar las consultas? si mientras se está ejecutando, el usuario actualiza la página o cierra la sesión ... ¿etc.?
Teniendo en cuenta que su psql está configurado para ejecutarse y conectarse a la base de datos de desarrollo actual, este único trazador de líneas es útil en el desarrollo cuando se prueban consultas complicadas que pueden colgarse, simplemente mata lo que se ejecuta:
Si no está configurado correctamente, agregue indicadores para usuario / contraseña / base de datos
psql -c "SELECT procpid FROM pg_stat_activity;" -t | xargs -n1 -I {} psql -c "SELECT pg_cancel_backend({})"