Обычный VACUUM освобождает место от ненужных версий строк для повторного использования внутри таблицы. VACUUM FULL переписывает таблицу компактно и обычно возвращает больше места файловой системе.
Чем отличается VACUUM от VACUUM FULL в PostgreSQL?
Обычный VACUUM освобождает место от ненужных версий строк для повторного использования внутри таблицы. VACUUM FULL переписывает таблицу компактно и обычно возвращает больше места файловой системе.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Обычный VACUUM освобождает место от ненужных версий строк для повторного использования внутри таблицы. VACUUM FULL переписывает таблицу компактно и обычно возвращает больше места файловой системе.
Обычный VACUUM совместим с повседневным чтением и записью, хотя тоже берёт служебные блокировки; уменьшение файла возможно лишь в отдельных случаях, например для свободного хвоста. VACUUM FULL требует ACCESS EXCLUSIVE и дополнительного места под новую копию.
Поэтому FULL не является обычной более эффективной заменой autovacuum. Его планируют при существенном раздувании и допустимом окне блокировки. Обновление статистики оптимизатора — задача ANALYZE, которую можно сочетать с VACUUM.
Источник: www.postgresql.org.