¡No más bloqueos! 🚫 Cómo cerrar conexiones de usuario en PostgreSQL

Hola a todos. Si alguna vez intentaste eliminar una base de datos en PostgreSQL y te topaste con el frustrante mensaje de que hay usuarios conectados, no te preocupes, hay una solución rápida y segura. Forzar el cierre de las conexiones es una tarea común en la administración de bases de datos para realizar tareas de mantenimiento, como la eliminación o el backup de una base de datos.

Aquí te muestro los pasos para identificar y finalizar las conexiones de usuario que están bloqueando tu base de datos.


Paso 1: Identificar las conexiones activas

Lo primero que necesitas hacer es saber qué usuarios están conectados a la base de datos. Para ello, puedes usar la vista del sistema pg_stat_activity. Esta vista te proporcionará información valiosa sobre las sesiones activas, incluyendo el usuario, la base de datos a la que están conectados y el identificador del proceso (PID).

Abre tu terminal o cliente de base de datos y ejecuta la siguiente consulta:

SELECT * FROM pg_stat_activity;

El resultado te mostrará una lista de todos los procesos activos, incluyendo sus detalles. Fíjate en la columna pid, que es el identificador único del proceso que nos permitirá cerrar la conexión.


Paso 2: Cancelar las conexiones

Una vez que tengas el pid del proceso que quieres cerrar, puedes usar la función pg_cancel_backend(). Esta función envía una señal de cancelación al proceso especificado, terminando la conexión de forma segura.

Ejecuta el siguiente comando, reemplazando <pid> con el número del proceso que encontraste en la consulta anterior:

SELECT pg_cancel_backend(<pid>);

Después de ejecutar esta sentencia para cada pid que quieras terminar, las conexiones se cerrarán y ya podrás realizar la operación que tenías planeada, como eliminar la base de datos.

Este método te da un control preciso sobre las conexiones, permitiéndote liberar recursos y mantener la base de datos en orden.

¿Qué otros trucos de administración de bases de datos has aprendido? ¡Comparte tu experiencia en los comentarios!

About Mario | Macla Editorial

Especialista en tecnología y ciberseguridad corporativa. Consultor en estrategias de transformación digital, automatización con IA y análisis de infraestructura. A través de MaclaTech, asesoro a organizaciones en la implementación de soluciones tecnológicas seguras y escalables para el mercado global.

4 comments: