Встречается на собеседованиях • сегодня

Что такое snapshot в PostgreSQL

Snapshot в PostgreSQL — это снимок состояния базы данных на определённый момент времени, используемый для обеспечения изоляции транзакций. Он фиксирует видимые данные на момент начала транзакции, предотвращая аномалии чтения (например, "грязное чтение", "неповторяющееся чтение").

PostgreSQL использует механизм MVCC (Multiversion Concurrency Control), где каждая транзакция видит согласованный снимок данных.

Пример:

sql
BEGIN;
-- Создаётся snapshot
SELECT * FROM users WHERE id = 1; -- Чтение данных из snapshot
-- Другие транзакции могут изменять данные, но текущая транзакция их не увидит
COMMIT;

Snapshots также используются в REPEATABLE READ и SERIALIZABLE уровнях изоляции.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы