Configura l'autovacuum adattivo

Per recuperare spazio di archiviazione dalle righe aggiornate o eliminate, aggiornare le statistiche delle tabelle e impedire il wraparound dell'ID transazione, AlloyDB per PostgreSQL attiva l'autovacuum adattivo per impostazione predefinita. Autovacuum adattivo regola automaticamente i workload di vacuum in base alle variazioni del traffico del database, rimuove le tuple inattive e mantiene prestazioni transazionali coerenti e alta affidabilità.

Il vacuuming è un'operazione di manutenzione di PostgreSQL fondamentale che impedisce il bloat di tabelle o indici e blocca gli ID transazione per evitare il wraparound degli ID transazione. Per saperne di più, consulta Vacuuming di routine.

Puoi disattivare o modificare l'autovacuum adattivo in AlloyDB utilizzando i flag di database.

Vantaggi

L'autovacuum adattivo offre i seguenti vantaggi:

  • Regolazione automatica delle risorse. AlloyDB 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 monitora l'avanzamento del vacuum e la velocità di consumo degli ID transazione. Quando necessario, AlloyDB limita il consumo di ID transazione eseguendo il vacuuming di ogni tabella nel database, impedendo il wraparound degli ID transazione.

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

  • Rilevamento automatico dei blocchi. AlloyDB 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. Puoi disattivare l'autovacuum adattivo impostando il flag di database enable_google_adaptive_autovacuum di un'istanza su off.

Per saperne di più sull'impostazione dei flag di database, consulta Configura i flag di database di un'istanza.

AlloyDB supporta diversi flag di database PostgreSQL standard relativi alle operazioni 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é questo 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.