Почему физический размер outbox-таблицы в PostgreSQL может значительно превышать ожидаемый логический размер при высокой нагрузке?

Частые UPDATE и DELETE создают мёртвые версии строк и индексные записи, которые не исчезают немедленно. Размер также включает свободное место, индексы и возможные TOAST-данные.

Короткий ответ

Что ответить на собеседовании

Частые UPDATE и DELETE создают мёртвые версии строк и индексные записи, которые не исчезают немедленно. Размер также включает свободное место, индексы и возможные TOAST-данные.

Подробный разбор

Ответ с пояснениями

Частые UPDATE и DELETE создают мёртвые версии строк и индексные записи, которые не исчезают немедленно. Размер также включает свободное место, индексы и возможные TOAST-данные.

Outbox часто одновременно растёт, меняет статус и очищается, поэтому autovacuum может не успевать. Долгие транзакции удерживают старые снимки и мешают уборке. Сравнивайте живые строки с размером таблицы, индексов и внешнего хранения, смотрите скорость изменений и возраст транзакций. Обычный VACUUM делает место пригодным для повторного использования, но обычно не возвращает весь файл ОС. Перепаковка требует ресурсов и планирования; не запускайте тяжёлое обслуживание вслепую.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее