Sobes.tech
Junior — Middle

Perché viene utilizzato il comando VACUUM in PostgreSQL e qual è il suo ruolo principale nella gestione del database?

sobes.tech AI

Risposta dell'AI

In PostgreSQL, il comando VACUUM viene utilizzato per pulire il database dalle righe 'morte' che rimangono dopo aggiornamenti ed eliminazioni. Il ruolo principale di VACUUM è liberare spazio occupato da questi record obsoleti per evitare la crescita delle dimensioni delle tabelle e migliorare le prestazioni delle query.

PostgreSQL utilizza MVCC (controllo di concorrenza multiversione), dove gli aggiornamenti non sovrascrivono le righe, ma creano nuove versioni. Le versioni vecchie sono considerate 'morte' e non sono più necessarie dopo che tutte le transazioni che potrebbero averle viste sono terminate. VACUUM elimina queste vecchie versioni.

Inoltre, VACUUM aggiorna le statistiche e i metadati, aiutando il pianificatore di query a scegliere i piani di esecuzione ottimali.

Esempio di utilizzo:

VACUUM;
-- o per una pulizia più approfondita
VACUUM FULL;