SA Шпаргалка

Все ответы в 2 клика

Продвинутый

Что такое VACUUM в PostgreSQL и зачем он нужен?

Из-за архитектуры MVCC (многоверсионности), когда вы делаете UPDATE или DELETE, PostgreSQL не удаляет старую строку физически. Он помечает ее как "мертвую" (dead tuple), а рядом пишет новую версию.

Со временем таблица раздувается от мусора (Bloat), и запросы начинают тормозить.

VACUUM (Вакуум) — это фоновый процесс сборки мусора. Он сканирует таблицы, находит "мертвые" строки, которые больше не нужны ни одной активной транзакции, и помечает их место на диске как свободное для записи новых данных.

💡 Практика: В современных версиях работает autovacuum, но при массовых удалениях аналитик/DBA может запустить VACUUM FULL вручную.

Сложная тема? Разберём на мок-интервьюЗаписаться на менторство →

Другие вопросы темы «Внутреннее устройство»

Ещё вопросы раздела «SQL и БД»

Все вопросы раздела «SQL и БД»