Não está claro se o aspirador automático está sendo executado em rds. Obrigado!
Não está claro se o aspirador automático está sendo executado em rds. Obrigado!
Respostas:
Execute esta consulta para mostrar se / quando suas tabelas foram aspiradas pela última vez.
SELECT * FROM pg_stat_all_tables;
Uma tabela não será aspirada até que o limite de inserção / atualização / exclusão seja atingido, que é de 20%.
Você pode ajustar a configuração no RDS, criando um novo grupo de parâmetros do banco de dados e altere a configuração desejada.
A documentação do RDS afirma:
O vácuo automático é ativado por padrão para todas as novas instâncias do Amazon RDS PostgreSQL DB, e os parâmetros de configuração relacionados ao vácuo automático são definidos adequadamente por padrão. Como nossos padrões são um pouco genéricos, você pode se beneficiar dos parâmetros de ajuste para sua carga de trabalho específica.
Você pode verificar a ativação do vácuo automático com este comando: SHOW autovacuum;
para obter uma resposta simples on
ou simples off
.
Você pode obter informações mais detalhadas com este comando: SELECT name, setting FROM pg_settings WHERE name LIKE '%autovacuum%';
Exemplo de dados retornados:
name | setting
-------------------------------------+-----------
autovacuum | on
autovacuum_analyze_scale_factor | 0.05
autovacuum_analyze_threshold | 50
autovacuum_freeze_max_age | 200000000
autovacuum_max_workers | 3
autovacuum_multixact_freeze_max_age | 400000000
autovacuum_naptime | 5
autovacuum_vacuum_cost_delay | 5
autovacuum_vacuum_cost_limit | -1
autovacuum_vacuum_scale_factor | 0.1
autovacuum_vacuum_threshold | 50
autovacuum_work_mem | -1
log_autovacuum_min_duration | -1
rds.force_autovacuum_logging_level | disabled
Essas configurações (e outras vacuum
configurações) estão documentadas para o Postgres aqui .
SHOW autovacuum;
. Ou ative o log de vácuo automático e verifique os logs. O RDS certamente requer vácuo, mas eu ficaria surpreso se não estivesse fazendo um auto-vácuo bastante agressivo.