Ottimizzazione, monitoraggio e risoluzione dei problemi delle operazioni VACUUM in PostgreSQL

Questo documento descrive i concetti fondamentali dell'operazione VACUUM nei database PostgreSQL. Descrive inoltre i meccanismi per monitorare e ottimizzare il motore di database che mantiene l'integrità delle istanze di database.

PostgreSQL utilizza un protocollo di contemporaneità basato su snapshot che crea più versioni delle righe di dati durante la modifica dei dati. Queste versioni delle righe di dati vengono utilizzate per leggere una versione visibile dei dati utilizzando uno snapshot calcolato senza acquisire il blocco di lettura nella riga dei dati. PostgreSQL gestisce gli ID transazione (ID transazione inseriti ed eliminati) per ogni riga di dati e utilizza gli ID transazione insieme allo snapshot calcolato per determinare la visibilità della riga. Man mano che i dati continuano a crescere a causa delle vecchie versioni dei dati, il tempo necessario per analizzare i dati (scansione delle tabelle o dell'indice) aumenta. Per ottimizzare il tempo di risposta dell'operazione di scansione e utilizzare lo spazio in modo efficiente, devi recuperare le versioni e i metadati (ad esempio l'ID transazione) utilizzati per conservare le versioni.

L'operazione VACUUM recupera le versioni eliminate (garbage collection) e gli ID transazione (blocca ID transazione). L'operazione VACUUM opera sui dati in diverse modalità con diversi livelli di disponibilità dei dati. Il blocco degli ID transazione è fondamentale per l'integrità del sistema di database, poiché il sistema blocca gli autori ogni volta che lo spazio degli ID transazione utilizzato inserisce uno spazio riservato.

I job autovacuum che configuri costantemente tentano di recuperare l'ID transazione, ma possono non riuscire. Questo errore è dovuto a una configurazione insufficiente o perché la frequenza di creazione degli ID transazione è talmente elevata che il job autovacuum non è in grado di recuperare il carico di lavoro. Lo scopo di questo documento è mostrare come utilizzare le operazioni VACUUM e i meccanismi per ottimizzare e monitorare diversi aspetti delle operazioni VACUUM.

Panoramica

Questo documento tratta i seguenti argomenti:

  • Blocco degli ID transazione.
  • Monitoraggio degli ID transazione.
  • Recupero spazio di archiviazione in corso...
  • È in corso la configurazione degli avvisi automatici di Cloud Monitoring.

Per leggere l'intero white paper, fai clic sul pulsante:

Scarica il PDF