Configura l'autovacuum adattivo

Seleziona una versione della documentazione:

Questa pagina fornisce una panoramica dell'autovacuum adattivo di AlloyDB Omni e descrive come configurarlo.

Il vacuuming è un'importante operazione di manutenzione del database PostgreSQL. Viene utilizzato per recuperare lo spazio di archiviazione occupato dalle righe aggiornate o eliminate per evitare il bloat di tabelle o indici. Viene utilizzato anche per bloccare gli ID transazione per evitare il wraparound degli ID transazione e per aggiornare le statistiche della tabella.

Per saperne di più sul vacuuming, consulta Vacuuming di routine.

Per automatizzare il processo di vacuuming e aggiornare collettivamente le statistiche della tabella, AlloyDB Omni supporta l'autovacuum adattivo. Autovacuum adattivo consente la regolazione automatica del workload di vacuum quando il workload cambia, rimuove le tuple inattive e aggiorna le statistiche della tabella.

Autovacuum garantisce prestazioni transazionali delle applicazioni affidabili e coerenti e mantiene l'alta affidabilità del sistema impedendo il wraparound degli ID transazione.

Per impostazione predefinita, AlloyDB Omni attiva l'autovacuum adattivo. Puoi disattivare o modificare l'autovacuum adattivo su AlloyDB Omni utilizzando i flag di database.

Vantaggi

L'autovacuum adattivo offre i seguenti vantaggi:

  • Regolazione automatica delle risorse. AlloyDB Omni regola automaticamente risorse come CPU, I/O, numero di processi di vacuum e memoria per il processo di vacuum in base allo stato in tempo reale del workload e alle risorse disponibili senza influire sulle prestazioni del sistema.

  • Prevenzione del wraparound degli ID transazione. AlloyDB Omni monitora l'avanzamento del vacuum e la velocità di consumo degli ID transazione. Se necessario, AlloyDB Omni limita il consumo degli ID transazione eseguendo il vacuuming di ogni tabella nel database, impedendo il wraparound degli ID transazione.

  • Vacuum periodico per le tabelle. AlloyDB Omni attiva l'autovacuum in base al numero di tuple inattive e alle pagine da scansionare. Rimuove le tuple inattive in modo tempestivo per evitare il bloat di tabelle o indici.

  • Rilevamento automatico dei blocchi. AlloyDB Omni rileva automaticamente i blocchi, come transazioni a lunga esecuzione, transazioni preparate orfane, slot di replica orfani, e mostra messaggi di avviso simili ai seguenti nel log 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.
    

Configura l'autovacuum adattivo

Per impostazione predefinita, l'autovacuum adattivo è abilitato su AlloyDB Omni. Puoi disattivare l'autovacuum adattivo [impostando i flag di database di un'istanza](/alloydb/omni/linux/current/docs/configure-database-flags) in modo che enable_google_adaptive_autovacuum sia impostato su off.

AlloyDB Omni supporta diversi flag di database PostgreSQL standard relativi a vacuum e autovacuum, ad esempio vacuum_cost_delay e autovacuum_vacuum_cost_delay. Non è necessario impostare valori in nessuno di questi flag per il funzionamento dell'autovacuum adattivo, perché l'autovacuum adattivo adatta e ottimizza il suo comportamento in base ai workload reali. Se imposti i valori in questi flag, l'autovacuum adattivo modifica il suo comportamento per tenere conto delle tue preferenze.

Per visualizzare l'elenco completo dei flag di database PostgreSQL supportati relativi a vacuum e autovacuum, consulta i flag vacuum e i flag autovacuum.