Definir parâmetros de autovacuum em nível de tabela - Amazon Relational Database Service

Definir parâmetros de autovacuum em nível de tabela

Você pode definir parâmetros de armazenamento relacionados ao autovacuum em nível de tabela, o que pode ser melhor do que alterar o comportamento do banco de dados inteiro. Para tabelas grandes, talvez você precise definir configurações agressivas e talvez você não queira que o autovacuum se comporte dessa maneira para todas as tabelas.

A consulta a seguir mostra quais tabelas atualmente têm opções em nível de tabela.

SELECT relname, reloptions FROM pg_class WHERE reloptions IS NOT null;

Um exemplo em que isso pode ser útil é em tabelas que são muito maiores do que o resto das suas tabelas. Suponha que você tenha uma tabela de 300 GB e outras 30 tabelas com menos de 1 GB. Nesse caso, você pode definir alguns parâmetros específicos para a sua tabela grande, para não alterar o comportamento de todo o sistema.

ALTER TABLE mytable set (autovacuum_vacuum_cost_delay=0);

Fazer isso desativará o atraso de autovacuum baseado em custos para essa tabela, mas aumentará o uso de recursos no seu sistema. Normalmente, o autovacuum faz uma pausa durante autovacuum_vacuum_cost_delay sempre que autovacuum_cost_limit é alcançado. Para obtert mais detalhes, consulte a documentação do PostgreSQL sobre vacuum baseado no custo.