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_statementsashared_preload_librariesempostgresql.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.3Se não estiver instalado, instale-o.
code language-none $ apt-get install postgresql-contrib-9.3 -
Alterar
postgresql.confpara 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_statementseauto_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; -