Pgsentinel ha lanzado la extensión
pgsentinel del mismo nombre (
repositorio github ), que agrega la vista pg_active_session_history a PostgreSQL, el historial de sesiones activas (similar a Oracle v $ active_session_history).
De hecho, estas son simplemente instantáneas cada segundo de pg_stat_activity, pero hay puntos importantes:
- Toda la información acumulada se almacena solo en la RAM, y la cantidad de memoria consumida se rige por el número de los últimos registros almacenados.
- Se agrega el campo queryid: el mismo queryid de la extensión pg_stat_statements (se requiere una instalación preliminar).
- Se agrega el campo top_level_query: el texto de consulta desde el que se llamó a la consulta actual (en caso de utilizar pl / pgsql)
Lista completa de campos pg_active_session_history: Columna | Escriba ------------------ + -------------------------- ash_time | marca de tiempo con zona horaria datid | oid datname | texto pid | entero useysid | oid usename | texto nombre_aplicación | texto client_addr | texto nombre_host_cliente | texto client_port | entero backend_start | marca de tiempo con zona horaria xact_start | marca de tiempo con zona horaria query_start | marca de tiempo con zona horaria cambio de estado | marca de tiempo con zona horaria wait_event_type | texto wait_event | estado del texto | texto backend_xid | xid backend_xmin | xid top_level_query | consulta de texto | texto queryid | bigint backend_type | texto
Todavía no hay un paquete listo para instalar. Se propone descargar las fuentes y construir la biblioteca usted mismo. Primero, necesita instalar el paquete "devel" para su servidor y escribir la ruta a pg_config en la variable PATH. Recopilamos:
cd pgsentinel / src
hacer
hacer instalar
Agregue parámetros a postgres.conf:
shared_preload_libraries = 'pg_stat_statements, pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = all
# número de entradas recientes en memoria
pgsentinel_ash.max_entries = 10000
Reinicie PostgreSQL y cree la extensión:
crear extensión pgsentinel;
La información acumulada le permite responder preguntas como:
- ¿En qué expectativas pasaron más tiempo las sesiones?
- ¿Qué sesiones fueron más activas?
- ¿Qué consultas fueron más activas?
Puede obtener respuestas a estas preguntas, por supuesto, con consultas SQL, pero es más conveniente ver esto claramente en el gráfico, resaltando los intervalos de tiempo con el mouse. Puede hacerlo utilizando el programa gratuito
PASH-Viewer (puede descargar los archivos binarios recopilados en la sección
Publicaciones ).
Al inicio, PASH-Viewer (a partir de la versión 0.4.0) verifica la presencia de la vista pg_active_session_history y, si la hay, carga todo el historial acumulado y continúa leyendo nuevos datos entrantes, actualizando el programa cada 15 segundos.
