Базы Данных (Data Base) | SQL & NoSQL. PostgreSQL, MySQL и Big Data. Уроки для Backend и Data Engineer. Архитектура БД, Оптимизация и Design.
IT и технологии · 18 июня 2026 г.
Мини-гайд: VACUUM в PostgreSQL — когда, зачем и как? — 18 июня 2026 г. в 10:21:59.582
Мини-гайд: VACUUM в PostgreSQL — когда, зачем и как? PostgreSQL не удаляет строки сразу при DELETE или UPDATE. Вместо этого они помечаются как "мертвые", а данные продолжают занимать место. Со временем таблицы раздуваются, индексы тормозят, запросы тянут ресурсы. ⠀ 💡 VACUUM - инструмент для уборки "мусора" и поддержания БД в форме. Варианты: VACUUM — убирает мусор, но не возвращает место ОС. VACUUM FULL — перезаписывает таблицу и реально освобождает диск (но блокирует таблицу!). ANALYZE — обновляет статистику планировщика запросов. VACUUM ANALYZE — два в одном: чистка + статистика. Когда запускать вручную? – Если autovacuum не справляется (часто видно по pg_stat_user_tables). – После больших батчевых удалений/обновлений. – Перед бэкапом (особенно VACUUM FULL для экономии места). ⠀ Пример: VACUUM VERBOSE my_table; VACUUM FULL my_table; Лайфхаки: Не злоупотребляй FULL — он тяжёлый. Настрой autovacuum под нагрузки: autovacuum_vacuum_threshold, autovacuum_vacuum_scale_factor и т.д. Следи за bloating: pgstattuple и pg_bloat_check. 👉 VACUUM — не уборка по графику, а гигиена твоей БД. Запустишь вовремя - не будет проблем с производительностью. Сохрани, чтобы не забыть 💾 #db 👉 @database_info

