Sobes.tech
Junior — Middle

Meg tudná magyarázni, hogyan működik a VACUUM parancs a PostgreSQL-ben, és miért használják?

sobes.tech MI

Válasz az MI-től

A VACUUM parancs a PostgreSQL-ben az adatbázis 'halott' sorainak tisztítására szolgál, amelyek frissítési és törlési műveletek után maradnak hátra. Ez segít felszabadítani a helyet és megakadályozza a táblák növekedését.

A VACUUM fő feladatai:

  • Régi verziók törlése a sorokról (halott tuple-okról), hogy ne foglaljanak helyet.
  • Statisztikák frissítése a lekérdező tervező számára (ha VACUUM ANALYZE-t használnak).
  • Az tranzakciós ID túlcsordulásának (wraparound) megelőzése.

A rendszeres VACUUM nélkül az adatbázis teljesítménye romolhat, és a táblák mérete növekedhet.

SQL-ben a hívás példája:

VACUUM;
VACUUM ANALYZE;

Go-ban ezt a parancsot az adatbázis-illesztőprogramon keresztül lehet végrehajtani, például:

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