Registrar atividades do autovacuum e do vacuum em log
Informações sobre atividades de autovacuum são enviadas para postgresql.log
com base no nível especificado no parâmetro rds.force_autovacuum_logging_level
. A seguir estão os valores permitidos para esse parâmetro e as versões do PostgreSQL para as quais esse valor é a configuração padrão:
-
disabled
(PostgreSQL 10, PostgreSQL 9.6) -
debug5
,debug4
,debug3
,debug2
,debug1
-
info
(PostgreSQL 12, PostgreSQL 11) -
notice
-
warning
(PostgreSQL 13 e superior) -
error
, log,fatal
,panic
A configuração rds.force_autovacuum_logging_level
funciona com o parâmetro log_autovacuum_min_duration
. O valor do parâmetro log_autovacuum_min_duration
é o limite (em milissegundos) acima do qual as ações autovacuum são registradas em log. Uma configuração -1
não registra nada em log, enquanto uma configuração 0 registra todas as ações em log. Como ocorre com rds.force_autovacuum_logging_level
, os valores padrão de log_autovacuum_min_duration
são dependentes da versão, da seguinte maneira:
-
10000 ms
: PostgreSQL 14, PostgreSQL 13, PostgreSQL 12 e PostgreSQL 11 -
(empty)
: nenhum valor padrão para PostgreSQL 10 e PostgreSQL 9.6
Recomendamos que você defina rds.force_autovacuum_logging_level
como WARNING
. Também recomendamos definir log_autovacuum_min_duration
para um valor entre 1000 e 5000. Uma configuração 5000 registra em log a atividade que leva mais de 5.000 milissegundos. Qualquer configuração diferente de -1 também registrará mensagens se a ação autovacuum for ignorada devido a um bloqueio conflitante ou relações descartadas simultaneamente. Para ter mais informações, consulte Automatic Vacuuming
Para solucionar problemas, você pode alterar o parâmetro rds.force_autovacuum_logging_level
para um dos níveis de depuração, de debug1
a debug5
, para obter informações mais detalhadas. Recomendamos que você use as configurações de depuração por curtos períodos e apenas para fins de solução de problemas. Para saber mais, consulte When to log
nota
O PostgreSQL permite que a conta rds_superuser
visualize sessões de autovacuum em pg_stat_activity
. Por exemplo, você pode identificar e encerrar uma sessão de autovacuum que esteja bloqueando a execução de um comando, ou executando de forma mais lenta do que um comando de vacuum emitido manualmente.