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