Sobes.tech
Junior — Middle

Můžete vysvětlit, jak funguje příkaz VACUUM v PostgreSQL a proč se používá?

sobes.tech AI

Odpověď od AI

Příkaz VACUUM v PostgreSQL se používá k čištění databáze od 'mrtvých' řádků, které zůstávají po operacích aktualizace a mazání. Pomáhá uvolnit místo a zabránit růstu tabulek.

Hlavní úkoly VACUUM:

  • Odstranění starších verzí řádků (mrtvých tuple), aby nezabíraly místo.
  • Aktualizace statistik pro plánovač dotazů (pokud se používá VACUUM ANALYZE).
  • Prevence přetečení transakčního ID (wraparound).

Bez pravidelného spouštění VACUUM může dojít ke zpomalení výkonu databáze a růstu velikosti tabulek.

Příklad volání v SQL:

VACUUM;
VACUUM ANALYZE;

V Go lze tento příkaz spustit přes ovladač databáze, například:

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