Sobes.tech
Junior — Middle

Можете ли да обясните как работи командата VACUUM в PostgreSQL и защо се използва?

sobes.tech AI

Отговор от AI

Командата VACUUM в PostgreSQL се използва за почистване на базата данни от 'мъртви' редове, които остават след операции по актуализация и изтриване. Това помага да се освободи място и да се предотврати разрастването на таблиците.

Основните задачи на VACUUM:

  • Премахване на по-старите версии на редове (мъртви кортежи), за да не заемат място.
  • Актуализиране на статистиките за планировчика на заявки (ако се използва VACUUM ANALYZE).
  • Предотвратяване на препълване на транзакционния ID (wraparound).

Без редовно изпълнение на VACUUM производителността на базата може да се влоши, а размерът на таблиците да се увеличи.

Пример за извикване в SQL:

VACUUM;
VACUUM ANALYZE;

В Go можете да изпълните тази команда чрез драйвера за база данни, например:

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