Этот вопрос проверяет знание процедуры очистки и сжатия базы данных в PostgreSQL.
VACUUM FULL полностью перераспределяет таблицу и освобождает неиспользуемое пространство на диске, блокируя таблицу на запись. Его применяют для значительного уменьшения размера таблиц после массового удаления или обновления большого объёма строк.
Обычный VACUUM:
Помечает мёртвые строки для переиспользования, не блокирует DML.
VACUUM FULL:
Создаёт новую версию файла таблицы, копирует только актуальные строки.
Освобождает место операционной системе.
Блокирует таблицу на время операции.
Когда использовать:
После массового удаления (archiving) больших объёмов данных.
При сильном фрагментировании таблицы.
Альтернативы:
CLUSTER — перестраивает индекс и физический порядок строк.
Регулярный VACUUM + ANALYZE для поддержания производительности.