Процесс очистки от "мертвых" строк, образующихся в результате операций:UPDATE и DELETE.
"Мертвые" строки занимают место на диске и могут замедлять запросы.
Основные задачи:
VACUUM очищает старые ID.Виды VACUUM:
VACUUM: Очищает "мертвые" строки и обновляет статистику (если не указано NOVACUUM). Не возвращает место операционной системе.VACUUM FULL: Более агрессивный вариант. Переписывает всю таблицу, удаляя "мертвые" строки и освобождая место. Блокирует доступ к таблице на время выполнения.VACUUM FREEZE: Устанавливает transaction ID для "старых" строк до значения OldestXID, предотвращая их удаление во время обычного VACUUM и помогая избежать переполнения счетчика транзакций.Автовакуум (Autovacuum):
По умолчанию в PostgreSQL включен процесс автовакуумирования. Он автоматически запускает VACUUM и ANALYZE (обновление статистики) для таблиц, которые были значительно изменены. Его параметры можно настроить для оптимизации работы.
Пример использования:
sql
Важность регулярного VACUUM:
Регулярное выполнение вакуумирования, вручную или с помощью автовакуума, критически важно для поддержания производительности и здоровья базы данных PostgreSQL.