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

В чём разница между VACUUM и VACUUM FULL?

Компании, где спрашивали
Lenta Tech

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

sobes.tech AI

VACUUM и VACUUM FULL — это команды в PostgreSQL для очистки базы данных от «мертвых» строк, которые остаются после обновлений и удалений.

  • VACUUM: выполняет обычную очистку, освобождая пространство для повторного использования внутри таблицы, но не уменьшает физический размер файла таблицы. Это быстрый процесс, который не блокирует таблицу для чтения и записи.

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

Итого:

  • Используйте VACUUM для регулярного обслуживания без блокировок.
  • Используйте VACUUM FULL, когда нужно вернуть дисковое пространство, например, после массового удаления данных.