Campaign Classic v7 - Finalidad y uso del módulo db pg_stat_statements
Obtenga información sobre el propósito y el uso del módulo de base de datos pg_stat_statements
en Adobe Campaign Classic v7.
Descripción description
Entorno
Adobe Campaign Classic v7 (ACC v7)
Problema/Síntomas
-
¿Qué es el módulo db?
pg_stat_statements
? -
¿Por qué los clientes solicitan habilitar?
-
¿Cómo se activa?
Resolución resolution
-
El módulo pg_stat_statements proporciona un medio para rastrear las estadísticas de ejecución de todas las sentencias SQL ejecutadas por un servidor.
El módulo debe cargarse añadiendo
pg_stat_statements
hastashared_preload_libraries
inpostgresql.conf
, porque requiere memoria compartida adicional.Esto significa que es necesario reiniciar el servidor para agregar o quitar el módulo.
Vínculo https://www.postgresql.org/docs/9.4/pgstatstatements.html
-
Implementar un esquema de tipo de vista en esta tabla que nos permita monitorizar las consultas que tardan mucho tiempo.
De este modo, los clientes podrán ajustarlas y optimizar el rendimiento.
Esta extensión proporciona métricas sobre la ejecución de consultas: cuáles son las consultas que se ejecutan con más frecuencia y cuánto tiempo tarda cada una.
-
pg_stat_statements
-
Compruebe que esté instalado el paquete de contribución oficial de PostgreSQL para la versión postgres.
code language-none $ dpkg -l | grep postgres postgresql-contrib-9.3
Si no está instalado, instálelo.
code language-none $ apt-get install postgresql-contrib-9.3
-
Cambiar
postgresql.conf
para cargar previamente el módulo al inicio.Predeterminado:
shared_preload_libraries = ''
Nuevo:
shared_preload_libraries = 'pg_stat_statements'
Si se utilizan ambos
pg_stat_statements
yauto_explain
, use UNO grabe y sepárelo con comas.code language-none shared_preload_libraries = 'auto_explain,pg_stat_statements'
-
En la base de datos que desee supervisar, ejecute
CREATE
consulta:No se requiere la creación de extensiones para
auto_explain
, solo parapg_stat_statements
.code language-none psql postgres=# \c mydatabase mydatabase=# CREATE EXTENSION pg_stat_statements;
-
En la sección OPTIONS PERSONALIZADOS de
postgresql.conf
, añada las líneas:code language-none pg_stat_statements.max = 5000 pg_stat_statements.track = all pg_stat_statements.save = on
-
Reinicie el servicio postgresql.
Ejemplo: Obtenga las 5 consultas más costosas de las bases de datos.
code language-none SELECT query, calls, total_time, rows, 100.0*shared_blks_hit/nullif(shared_blks_hit+shared_blks_read,0) AS hit_percent from pg_stat_statements as s inner join pg_database as d on d.oid = s.dbid where d.datname = 'Database_Name' order by total_time desc limit 5;
-