Что такое Full Vacuum

«Что такое Full Vacuum» — вопрос из категории Базы данных, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

Особенности:

  • Блокирует таблицу на время выполнения
  • Требует дополнительного дискового пространства (создает копию таблицы)
  • Рекомендуется использовать редко, так как может быть ресурсоемким
-- Пример выполнения
VACUUM FULL table_name;

Когда использовать: после массовых удалений или обновлений, когда нужно вернуть дисковое пространство системе. Для обычного обслуживания лучше использовать обычный VACUUM или AUTOVACUUM.