Configure o autovacuum adaptável

Selecione uma versão da documentação:

Esta página fornece uma vista geral do autovacuum adaptativo do AlloyDB Omni e descreve como o configurar.

A limpeza é uma operação de manutenção importante da base de dados PostgreSQL. É usado para reclamar espaço de armazenamento ocupado por linhas atualizadas ou eliminadas para evitar o aumento excessivo da tabela ou do índice. Também é usado para congelar IDs das transações para evitar a repetição de IDs das transações e para atualizar as estatísticas da tabela.

Para mais informações sobre a aspiração, consulte o artigo Aspiração de rotina.

Para automatizar o processo de limpeza e atualizar coletivamente as estatísticas das tabelas, o AlloyDB Omni suporta a limpeza automática adaptativa. A limpeza automática adaptável permite o ajuste automático da carga de trabalho de limpeza quando a sua carga de trabalho muda, remove tuplos inativos e atualiza as estatísticas das tabelas.

O autovacuum garante um desempenho transacional da aplicação fiável e consistente e mantém a elevada disponibilidade do sistema, evitando a repetição do ID da transação.

Por predefinição, o AlloyDB Omni ativa o autovacuum adaptável. Pode desativar ou modificar o autovacuum adaptável no AlloyDB Omni usando flags da base de dados.

Vantagens

O autovacuum adaptativo oferece as seguintes vantagens:

  • Ajuste automático dos recursos. O AlloyDB Omni ajusta automaticamente os recursos, como a CPU, a E/S, o número de processos de vácuo e a memória para o processo de vácuo, com base no estado em tempo real da carga de trabalho e nos recursos disponíveis, sem afetar o desempenho do sistema.

  • Prevenção da repetição do ID da transação. O AlloyDB Omni monitoriza o progresso do vacuum e a velocidade de consumo do ID da transação. Quando necessário, o AlloyDB Omni limita o consumo de IDs das transações limpando todas as tabelas na base de dados, o que impede a repetição cíclica dos IDs das transações.

  • Vácuo periódico para tabelas. O AlloyDB Omni aciona o autovacuum com base no número de tuplos mortos e nas páginas que precisam de ser analisadas. Remove as tuplas mortas de forma oportuna para evitar o inchaço da tabela ou do índice.

  • Deteção automática de bloqueadores. O AlloyDB Omni deteta automaticamente bloqueios, como transações de execução prolongada, transações preparadas órfãs, slots de replicação órfãos e mostra mensagens de aviso semelhantes às seguintes no registo postgres:

    Found a backend process PROCESS_ID with a long running transaction whose transaction
    id age AGE is larger than or equal to the transaction age threshold AGE_THRESHOLD.
    

Configure o autovacuum adaptável

Por predefinição, o autovacuum adaptável está ativado no AlloyDB Omni. Pode desativar o autovacuum adaptável definindo a flag da base de dados de uma instância como off.enable_google_adaptive_autovacuum

O AlloyDB Omni suporta várias flags de base de dados PostgreSQL padrão relacionadas com o vacuum e o autovacuum, por exemplo, vacuum_cost_delay e autovacuum_vacuum_cost_delay. Não precisa de definir valores em nenhuma destas flags para que o autovacuum adaptável funcione, porque o autovacuum adaptável adapta e otimiza o respetivo comportamento às suas cargas de trabalho reais. Se definir valores nestas flags, o autovacuum adaptativo ajusta o respetivo comportamento para ter em conta as suas preferências.

Para ver a lista completa de flags da base de dados PostgreSQL suportadas relacionadas com o vacuum e o autovacuum, consulte as flags do vacuum e as flags do autovacuum.