Junior — Middle
Czy możesz wyjaśnić, jak działa polecenie VACUUM w PostgreSQL i do czego służy?
sobes.tech AI
Odpowiedź od AI
Polecenie VACUUM w PostgreSQL służy do oczyszczania bazy danych z 'martwych' wierszy, które pozostają po operacjach aktualizacji i usuwania. Pomaga to zwolnić miejsce i zapobiec rozrostowi tabel.
Główne zadania VACUUM:
- Usuwanie starszych wersji wierszy (martwych krotek), aby nie zajmowały miejsca.
- Aktualizacja statystyk dla planisty zapytań (jeśli używany jest VACUUM ANALYZE).
- Zapobieganie przepełnieniu identyfikatora transakcji (wraparound).
Bez regularnego wykonywania VACUUM wydajność bazy może się pogarszać, a rozmiar tabel rosnąć.
Przykład wywołania w SQL:
VACUUM;
VACUUM ANALYZE;
W Go można wykonać to polecenie przez sterownik bazy danych, na przykład:
_, err := db.Exec("VACUUM")
if err != nil {
log.Fatal(err)
}