Entender estatísticas
Quando uma consulta é executada, ela precisa criar um plano para decidir como acessar os dados. Por exemplo, se uma consulta SELECT retorna todas as linhas, não há nenhum benefício em usar um índice e seria mais eficiente verificar a tabela inteira. Nesse cenário, é simples planejar a consulta, mas a maioria dos planos de consulta não são tão simples de resolver.
Imagine um cenário em que você está executando uma consulta pesquisando todos os pedidos entre US$ 10,00 e US$ 20,00. Inicialmente, não sabemos se a consulta retorna todos os dados na tabela ou apenas um subconjunto pequeno. Esse desconhecido dificulta o planejamento da estratégia de consulta até vermos os dados. Se soubermos que a tabela contém pedidos que têm um preço de compra entre US$ 1,00 e US$ 800,00, um índice poderá ser usado para pesquisar um pequeno subconjunto dos dados. No entanto, ainda pode não haver informações suficientes para gerar o plano de consulta adequado. Neste exemplo, embora os pedidos tenham um preço de compra entre US$ 1,00 e US$ 800,00, 95% dos pedidos estão entre US$ 10,00 e US$ 20,00, e uma verificação dos dados é, na verdade, o plano mais eficaz.
Com cenários como o exemplo anterior, o PostgreSQL precisa de estatísticas detalhadas para poder usar o plano de consulta ideal.
Para monitorar as estatísticas de planejamento e execução, há uma extensão do PostgreSQL chamada pg_stat_statements. pg_stat_statements está habilitado por padrão no Banco de Dados do Azure para PostgreSQL e permite que os membros da função pg_read_all_stats consultem estatísticas usando várias exibições de pg_stat . A consulta a seguir retorna a atividade de consulta usando a exibição pg_stat_activity :
SELECT * FROM pg_stat_activity;
Desativar pg_stat_statements
Se suas consultas forem exclusivas e você não repetir a mesma consulta periodicamente, os dados de consulta históricos serão menos úteis. Além disso, se você não usar as exibições pg_stat, eles não fornecerão nenhum benefício. Há uma sobrecarga para manter pg_stat_statements, que pode ser de até 50%, e você pode desativar o acompanhamento de pg_stat_statements nesses cenários.
Para desativar o monitoramento de pg_stat_statements, execute as seguintes etapas:
Acesse o portal do Azure e selecione o servidor do Banco de Dados do Azure para PostgreSQL.
Selecione os parâmetros do servidor e navegue até a configuração pg_stat_statements.track .
Se você quiser desativar o rastreamento, selecione NONE.
Para obter um acompanhamento mais exato, selecione ALL.
A configuração padrão é TOP.
Selecione Salvar.

