Sobes.tech
Назад к вопросам
Senior
3

Что такое VACUUM в PostgreSQL и зачем он нужен?

Компании, где спрашивали
Ozon ФинтехOzon Финтех

Ответ от нейросети

sobes.tech AI

VACUUM в PostgreSQL — это команда обслуживания базы данных, которая очищает таблицы от «мертвых» строк, образующихся после обновлений и удалений. В PostgreSQL используется MVCC (многоверсионность), поэтому старые версии строк не удаляются сразу, а остаются для обеспечения согласованности транзакций.

Зачем нужен VACUUM:

  • Освобождение места, занятого устаревшими строками, чтобы предотвратить рост размера таблиц.
  • Обновление статистики для оптимизатора запросов.
  • Предотвращение переполнения счетчиков транзакций (в случае VACUUM FULL или autovacuum).

Пример использования:

VACUUM ANALYZE my_table;

Эта команда очистит таблицу и обновит статистику для планировщика запросов.