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)
}