Estes parâmetros controlam o sistema de estatísticas cumulativas
de todo o servidor.
Quando ativo, os dados coletados podem ser acessados por meio da
família de visões do sistema pg_stat e
pg_statio.
Veja Monitoramento da atividade do banco de dados para obter mais informações.
track_activities (boolean)
#
Ativa a coleta de informações sobre o comando em execução no
momento em cada sessão, juntamente com seu identificador e a
hora em que a execução desse comando foi iniciada.
Este parâmetro está ativo por padrão.
Note-se que, mesmo quando está ativo, esta informação só é
visível por superusuários, por usuários com o privilégio
pg_read_all_stats, e pelo usuário dono das
sessões sobre as quais se está relatando (incluindo sessões
pertencentes a um usuário cujos privilégios este possua);
portanto, não deve representar um risco de segurança.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta 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 sendo bytes.
O padrão é 1024 bytes.
Este parâmetro só pode ser definido na ativação do servidor.
track_counts (boolean)
#
Ativa a coleta de estatísticas sobre a atividade do banco de dados.
Este parâmetro está ativo por padrão, porque o
daemon autovacuum precisa das
informações coletadas.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
track_cost_delay_timing (boolean)
#
Ativa a medição do tempo de atraso do
VACUUM baseado em custo.
(veja Atraso do VACUUM baseado em custos).
Este parâmetro está inativo por padrão, porque consulta
repetidamente o sistema operacional em busca da hora corrente,
o que pode causar uma sobrecarga significativa em algumas
plataformas.
Pode-se usar a ferramenta pg_test_timing para
medir a sobrecarga da medição de tempo no sistema.
As informações de medição do tempo de atraso do
VACUUM baseado em custo
são mostradas em
pg_stat_progress_vacuum,
pg_stat_progress_analyze,
na saída de VACUUM e em
ANALYZE quando a opção
VERBOSE é usada, e pelo
Processo de limpeza automática para operações de
auto-vacuum e auto-analyze
quando log_autovacuum_min_duration está ativo.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
track_io_timing (boolean)
#
Ativa a medição de tempo de espera de E/S do banco de dados.
Este parâmetro está inativo por padrão, porque consulta
repetidamente o sistema operacional em busca da hora corrente,
o que pode causar uma sobrecarga significativa em algumas
plataformas.
Pode-se usar a ferramenta pg_test_timing para
medir a sobrecarga da medição de tempo no sistema.
As informações de medição de tempo de E/S são mostradas nas
funções pg_stat_database,
pg_stat_io
(se object não for wal),
pg_stat_get_backend_io
(se object não for wal),
na saída de EXPLAIN
quando a opção BUFFERS é usada,
na saída de VACUUM
quando a opção VERBOSE é usada,
e pelo Processo de limpeza automática para operações de
auto-vacuum e auto-analyze
quando log_autovacuum_min_duration
está ativo, e por pg_stat_statements.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
track_wal_io_timing (boolean)
#
Ativa a medição de tempo de esperas de E/S do WAL.
Este parâmetro está inativo por padrão, porque consulta
repetidamente o sistema operacional em busca da hora corrente,
o que pode causar uma sobrecarga significativa em algumas
plataformas.
Pode-se usar a ferramenta pg_test_timing
para medir a sobrecarga da medição de tempo no sistema.
As informações de medição de tempo de E/S são mostradas na visão
pg_stat_io
para o object wal
e na saída da função pg_stat_get_backend_io
para o object wal.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta 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.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
As funções escritas na linguagem SQL simples o suficiente para serem “trazidas” (inlined), ou seja, substituídas no código da consulta chamadora, não serão rastreadas, independentemente dessa configuração.
stats_fetch_consistency (enum)
#
Determina o comportamento quando estatísticas cumulativas são
acessadas várias vezes em uma transação.
Quando definido como none, cada acesso
recupera novamente os contadores da memória compartilhada.
Quando definido como cache, o primeiro acesso
às estatísticas de um objeto armazena estas estatísticas em
cache até o final da transação, a menos que
pg_stat_clear_snapshot() seja chamada.
Quando definido como snapshot, o primeiro
acesso às estatísticas armazena em cache
todas as estatísticas acessíveis no banco de dados corrente
até o final da transação, a menos que
pg_stat_clear_snapshot() seja chamada.
Alterar este parâmetro em uma transação descarta o instantâneo
de estatísticas.
O padrão é cache.
none é o mais adequado para sistemas de
monitoramento.
Se os valores forem acessados apenas uma vez, esta é a opção
mais eficiente.
cache garante que acessos repetidos produzam
os mesmos valores, o que é importante para consultas que envolvem,
por exemplo, auto-junçõess.
snapshot pode ser útil ao inspecionar
estatísticas interativamente, mas tem uma sobrecarga maior
particularmente se existirem muitos objetos de banco de dados.
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-se 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.
Neste 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 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.
Este é um instrumento rudimentar de criação de perfis,
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 estas opções estão inativas por padrão.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar estas
configurações.