Campaign Classic v7 - Finalidade e uso do módulo db pg_stat_statement
Saiba mais sobre a finalidade e o uso do módulo de banco de dados pg_stat_statements
no Adobe Campaign Classic v7.
Descrição description
Ambiente
Adobe Campaign Classic v7 (ACC v7)
Problema/Sintomas
-
O que é o módulo de banco de dados
pg_stat_statements
? -
Por que é solicitado pelos clientes a habilitar?
-
Como ele é ativado?
Resolução resolution
-
O módulo pg_stat_instructions fornece um meio de rastrear estatísticas de execução de todas as instruções SQL executadas por um servidor.
O módulo deve ser carregado adicionando
pg_stat_statements
ashared_preload_libraries
empostgresql.conf
, pois ele requer memória compartilhada adicional.Isso significa que é necessário reiniciar o servidor para adicionar ou remover o módulo.
Link https://www.postgresql.org/docs/9.4/pgstatstatements.html
-
Para implementar um esquema do tipo visualização nesta tabela, o que permite monitorar consultas que são demoradas.
Dessa forma, os clientes poderão ajustá-los e otimizar o desempenho.
Essa extensão fornece métricas sobre a execução de consultas: quais são as consultas executadas com mais frequência e quanto tempo cada uma leva.
-
pg_stat_statements
-
Verifique se o pacote de Contribub PostgreSQL oficial para a versão postgres está instalado.
code language-none $ dpkg -l | grep postgres postgresql-contrib-9.3
Se não estiver instalado, instale-o.
code language-none $ apt-get install postgresql-contrib-9.3
-
Alterar
postgresql.conf
para pré-carregar o módulo na inicialização.Padrão:
shared_preload_libraries = ''
Novo:
shared_preload_libraries = 'pg_stat_statements'
Se estiver usando
pg_stat_statements
eauto_explain
, use o registro ONE e separe com vírgulas.code language-none shared_preload_libraries = 'auto_explain,pg_stat_statements'
-
No banco de dados que você deseja monitorar, execute a consulta
CREATE
:Nenhuma criação de extensão necessária para
auto_explain
, somente parapg_stat_statements
.code language-none psql postgres=# \c mydatabase mydatabase=# CREATE EXTENSION pg_stat_statements;
-
Na seção OPTIONS PERSONALIZADOS de
postgresql.conf
, adicione as linhas:code language-none pg_stat_statements.max = 5000 pg_stat_statements.track = all pg_stat_statements.save = on
-
Reinicie o serviço postgresql.
Exemplo: obtenha as 5 consultas mais caras nos bancos de dados.
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;
-