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.