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