procedimientos linea funciones español consultas comandos sql ajax postgresql

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({})"