Sobes.tech
Junior — Middle

Puteți explica cum funcționează comanda VACUUM în PostgreSQL și de ce este utilizată?

sobes.tech AI

Răspuns de la AI

Comanda VACUUM în PostgreSQL este utilizată pentru a curăța baza de date de rândurile 'moarte' care rămân după operațiile de actualizare și ștergere. Acest lucru ajută la eliberarea spațiului și prevenirea creșterii tabelelor.

Sarcinile principale ale VACUUM:

  • Eliminarea versiunilor vechi ale rândurilor (tupluri moarte) pentru a nu ocupa spațiu.
  • Actualizarea statisticilor pentru planificatorul de interogări (dacă se folosește VACUUM ANALYZE).
  • Prevenirea depășirii ID-ului de tranzacție (wraparound).

Fără executarea regulată a VACUUM, performanța bazei de date poate scădea, iar dimensiunea tabelelor poate crește.

Exemplu de apel în SQL:

VACUUM;
VACUUM ANALYZE;

În Go, puteți executa această comandă prin driverul bazei de date, de exemplu:

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