Esses parâmetros controlam os recursos de coleta de estatísticas
em todo o servidor.
Quando a coleta de estatísticas está ativa, os dados produzidos
podem ser acessados por meio da família de visões do sistema
pg_stat
e pg_statio
.
Veja Monitoramento das atividades do banco de dados para obter mais informações.
track_activities
(boolean
)
Ativa a coleta de informações sobre o comando atualmente em
execução de cada sessão, juntamente com seu identificador,
e a hora em que esse comando iniciou a execução.
Esse parâmetro está ativo por padrão.
Note que mesmo quando está ativo, essa informação não fica visível
para todos os usuários, apenas para os superusuários, funções
de banco de dados (roles) com o
privilégio da função pg_read_all_stats
,
e o usuário dono das sessões sendo reportadas
(incluindo sessões pertencentes a uma função de banco de dados
da qual têm privilégios), portanto, não deve representar
um risco à segurança.
Somente superusuários podem mudar essa configuração.
track_activity_query_size
(integer
)
Especifica a quantidade de memória reservada para armazenar o
texto do comando atualmente em execução para cada sessão ativa,
para o campo
pg_stat_activity
.query
.
Se o valor for especificado sem unidade, será considerado como bytes.
O valor padrão é de 1024 bytes.
Esse parâmetro só pode ser definido na carga do servidor.
track_counts
(boolean
)
Ativa a coleta de estatísticas sobre a atividade do banco de dados. Esse parâmetro está ativo por padrão, porque o daemon autovacuum precisa das informações coletadas. Somente superusuários podem mudar essa configuração.
track_io_timing
(boolean
)
Ativa a cronometragem das chamadas de E/S do banco de dados.
Esse parâmetro está inativo por padrão, porque consulta
repetidamente o sistema operacional sobre a hora corrente, o que
pode causar uma sobrecarga significativa em algumas plataformas.
Pode ser usada a ferramenta pg_test_timing
para medir a sobrecarga da cronometragem no sistema.
As informações de cronometragem de E/S são mostradas na visão
pg_stat_database,
na saída de EXPLAIN, quando é usada a opção
BUFFERS
, pelo autovacuum
para auto-limpezas e auto-análises, quando
log_autovacuum_min_duration está definido,
e por pg_stat_statements.
Somente superusuários podem mudar essa configuração.
track_wal_io_timing
(boolean
)
Ativa a cronometragem de chamadas de E/S do WAL. Esse parâmetro está inativo por padrão, porque consulta repetidamente o sistema operacional sobre a hora corrente, o que pode causar sobrecarga significativa em algumas plataformas. Pode ser usada a ferramenta pg_test_timing para medir a sobrecarga de cronometragem no sistema. As informações de cronometragem de E/S são mostradas na visão pg_stat_wal. Somente superusuários podem mudar essa configuração.
track_functions
(enum
)
Ativa o rastreamento de contagens de chamadas de função e tempo
usado.
Deve ser especificado pl
para rastrear apenas
as funções escritas em linguagem procedural, e
all
para rastrear também as funções escritas
nas linguagens SQL e C.
O padrão é none
, que desativa o
rastreamento de estatísticas de função.
Somente superusuários podem mudar essa configuração.
As funções escritas na linguagem SQL, que são simples o suficiente para serem “incorporadas” (inlined), ou seja, substituídas no código da consulta chamadora, não serão rastreadas, independentemente dessa configuração.
stats_temp_directory
(string
)
Define o diretório para armazenar dados estatísticos temporários.
Pode ser um caminho relativo ao diretório de dados, ou um
caminho absoluto.
O valor padrão é pg_stat_tmp
.
Apontar essa configuração para um sistema de arquivos baseado em
RAM diminui os requisitos físicos de E/S,
podendo levar a um melhor desempenho.
Esse parâmetro só pode ser definido no arquivo
postgresql.conf
, ou na linha de comando
do servidor.
compute_query_id
(enum
)
Ativa a computação interna (in-core)
do identificador de consulta.
Os identificadores de consulta podem ser vistos na visão
pg_stat_activity,
usando o comando EXPLAIN
, ou escrito no
registro de eventos, se configurado através do parâmetro
log_line_prefix.
A extensão pg_stat_statements também requer que
seja calculado um identificador de consulta.
Note que pode ser usado um módulo externo como alternativa,
se o método de cálculo do identificador de consulta interno não
for aceitável.
Nesse caso, a computação interna deve estar sempre inativa.
Os valores válidos são off
(sempre inativo),
on
(sempre ativo), auto
,
que deixa que módulos como pg_stat_statements
o ativem automaticamente, e regress
, que tem
o mesmo efeito que auto
, exceto pelo
identificador da consulta não ser mostrado na saída do comando
EXPLAIN
, para facilitar o teste de regressão
automatizado.
O valor padrão é auto
.
Para garantir que apenas um identificador de consulta seja calculado e mostrado, as extensões que calculam identificadores de consulta deverão gerar um erro se um identificador de consulta já tiver sido calculado.
log_statement_stats
(boolean
)
log_parser_stats
(boolean
)
log_planner_stats
(boolean
)
log_executor_stats
(boolean
)
Para cada consulta, envia estatísticas de desempenho do
respectivo módulo para o registro de eventos do servidor.
Esse é um instrumento rudimentar de perfilhamento,
semelhante ao recurso getrusage()
do
sistema operacional Unix.
O parâmetro log_statement_stats
reporta
estatísticas totais das instruções, enquanto os demais reportam
estatísticas por módulo.
O parâmetro log_statement_stats
não pode ser
ativado junto com nenhuma das opções por módulo.
Todas essas opções estão inativas por padrão.
Somente superusuários podem alterar essas configurações.