Sobes.tech
Junior — Middle

Puoi spiegare come funziona il comando VACUUM in PostgreSQL e perché viene utilizzato?

sobes.tech AI

Risposta dell'AI

Il comando VACUUM in PostgreSQL viene utilizzato per pulire il database da righe 'morte' che rimangono dopo operazioni di aggiornamento e eliminazione. Questo aiuta a liberare spazio e prevenire l'espansione delle tabelle.

Le principali attività di VACUUM:

  • Rimuovere le versioni obsolete delle righe (tuples morti) affinché non occupino spazio.
  • Aggiornare le statistiche per il pianificatore di query (se si utilizza VACUUM ANALYZE).
  • Prevenire il wraparound dell'ID di transazione.

Senza eseguire regolarmente VACUUM, le prestazioni del database possono peggiorare e le dimensioni delle tabelle aumentare.

Esempio di chiamata in SQL:

VACUUM;
VACUUM ANALYZE;

In Go, puoi eseguire questo comando tramite il driver del database, ad esempio:

_, err := db.Exec("VACUUM")
if err != nil {
    log.Fatal(err)
}