Una característica poderosa sobre PostgreSQL es la capacidad de obtener información en consultas SQL mínimas. Esto se debe a que tiene esquemas y tablas que están bien organizadas y reservadas para información específica, incluida la actividad del servidor de monitoreo.
Este tutorial lo guiará a través de varias formas de identificar conexiones y actividades del servidor utilizando el servidor. Esto puede ayudarlo a identificar las conexiones, administrarlas o terminarlas si no son útiles.
El catálogo del sistema PostgreSQL
Antes de llegar a consultar PostgreSQL para conexiones activas en el servidor, comprendamos dónde ocurre esta recopilación de información.
PostgreSQL contiene un esquema con tablas y vistas pobladas con información de metadatos sobre otros objetos en el servidor. Que es similar a la tabla de información_schema en mysql.
El esquema del catálogo del sistema le permite recopilar información sobre el sistema, incluidos los procesos del sistema, los índices, el acceso a la tabla, el método de acceso a datos y muchos más.
Como el catálogo del sistema es masivo y contiene cargas y mucha información, no podemos cubrirlo en un artículo. Sin embargo, hay una tabla que nos interesa: el PG_STAT_ACTIVITY.
Esta tabla muestra un registro de conexiones establecidas en el servidor y sus datos correspondientes, la base de datos conectada a la PID de su proceso equivalente y mucho más.
El pg_stat_activity
La información que podemos recopilar de la tabla PG_stat_Activity incluye la siguiente
Con esa información, ahora podemos consultar información detallada sobre conexiones activas en el servidor.
Cómo consultar conexiones activas
Para consultar para conexiones activas, comenzamos iniciando sesión en el servidor. Si está utilizando la instalación predeterminada de PostgreSQL, use PSQL con su nombre de usuario y contraseña como
PSQL -U Postgres -WEscriba "ayuda" para obtener ayuda.
Comencemos por recopilar toda la información de la tabla PG_STAT_ACTIVITY. Use la consulta como se muestra a continuación
seleccionar * de PG_STAT_ACTIVIA;Una vez que ejecute la consulta anterior, PostgreSQL le arrojará mucha información, la mayoría de los cuales es posible que no necesite. Para resolver esto, podemos seleccionar columnas específicas como se muestra en la consulta a continuación:
Seleccione DatName como Database_Name,Esto seleccionará solo la información necesaria y la organizará de manera tabular, como se muestra en la captura de pantalla.
Finalmente, podemos filtrar donde el estado no es igual a activo para recopilar solo las conexiones activas.
La consulta para eso es:
Seleccione DatName como Database_Name,Esto mostrará una salida similar a la que se muestra a continuación:
Finalmente, una forma simple de obtener información similar es usar pgadmin. Pgadmin es una poderosa herramienta de administración de GUI para la base de datos PostgreSQL.
Una vez que inicie sesión en pgadmin, navegue al tablero y vaya a server_activity. Refrescar para mostrarle todas las conexiones.
Conclusión
Esta guía analizó cómo consultar las actividades de conexión de PostgreSQL utilizando la tabla PG_STAT_ACTIVITY y PGADmin.