Gostaria de reunir estatísticas sobre as consultas de execução mais alta no meu banco de dados.
Para isso, preciso saber como posso rastrear consultas para criar visualizações ou visualizações materializadas para armazenar em cache os resultados das consultas de execução mais alta, pois tenho um grande banco de dados.
postgresql
view
materialized-view
mamesaye
fonte
fonte
Respostas:
Como alguém disse nos comentários, pg_stat_statements é o caminho para obter as estatísticas. Coloque isso no seu
postgresql.conf
:Em seguida, execute esta consulta:
Depois disso, essa consulta de exemplo (copiada dos documentos vinculados acima) fornecerá as estatísticas das 5 principais consultas de todos os bancos de dados :
Se você deseja resultados para um único banco de dados , é necessário filtrar pelo
dbid
qual você pode obterpg_database
pelo nome do banco de dados. Adicione esta cláusula WHERE à consulta acima:Você também pode participar.
Quando você está testando isso, pode ser uma boa ideia excluir as consultas para as próprias tabelas de estatísticas / esquema, por exemplo:
Há várias ferramentas gratuitas e comerciais que podem ajudá-lo a visualizar os dados.
fonte