O Amazon rds PostgreSQL requer vácuo?

12

Não está claro se o aspirador automático está sendo executado em rds. Obrigado!

Chris parente
fonte
6
Corra 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.
Craig Ringer

Respostas:

14

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.

Rowland Fong Lip
fonte
3

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 onou 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 vacuumconfigurações) estão documentadas para o Postgres aqui .

CavaloPunchKid
fonte