MVCC в PostgreSQL — как работает?

Ответ

Каждая транзакция видит snapshot базы. Вместо изменений — новые версии строк с xmin/xmax. Старые версии чистит VACUUM.

Разбор: Суть MVCC: каждой транзакции выдаётся snapshot, видимость строк определяется их xmin/xmax относительно этого snapshot, а изменение порождает новую версию строки вместо правки на месте. Главная ошибка дистракторов — будто старые версии берутся из WAL или общей копии: на деле они физически лежат в той же таблице как dead tuples, и убирает их именно VACUUM.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться