Встречается на собеседованиях • сегодня
Что такое MVCC в PostgreSQL
MVCC (Multi-Version Concurrency Control) — это механизм управления параллельным доступом к данным в PostgreSQL, позволяющий избегать блокировок при чтении.
Как работает:
- Каждая транзакция видит "снимок" (snapshot) данных на момент своего начала.
- При изменении строки создается ее новая версия, а старая сохраняется для других транзакций.
- Неиспользуемые версии очищаются автоматически (VACUUM).
Пример:
sql
-- Транзакция 1 (началась первой)
BEGIN;
SELECT * FROM users WHERE id = 1; -- Видит версию X
-- Транзакция 2 (параллельно)
BEGIN;
UPDATE users SET name = 'Alice' WHERE id = 1;
COMMIT;
-- Транзакция 1 продолжает видеть старую версию X
SELECT * FROM users WHERE id = 1; -- Данные не изменились
COMMIT;Плюсы:
- Чтение не блокирует запись и наоборот.
- Высокая производительность при параллельной работе.
Минусы:
- Возможность "раздувания" БД из-за хранения старых версий (решается VACUUM).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы