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.