Встречается на собеседованиях • сегодня
Как работают уровни изоляции в PostgreSQL
Уровни изоляции в PostgreSQL определяют, как транзакции видят изменения друг друга. PostgreSQL поддерживает 4 уровня (от самого строгого к самому слабому):
- Serializable – Гарантирует полную изоляцию, как будто транзакции выполняются последовательно. Самый строгий, но может приводить к ошибкам
Serialization Failure.
-
Repeatable Read – Гарантирует, что данные, прочитанные в транзакции, не изменятся. Но возможен фантомный чтение (новые строки могут появиться).
-
Read Committed (по умолчанию) – Видны только закоммиченные изменения других транзакций. Возможны неповторяемое чтение и фантомы.
-
Read Uncommitted – В PostgreSQL фактически работает как
Read Committed, т.к. не поддерживает "грязное чтение".
Пример:
sql
BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ;
SELECT * FROM users WHERE id = 1; -- Вернет одно значение
-- Другая транзакция изменяет users.id=1 и коммитит
SELECT * FROM users WHERE id = 1; -- Вернет то же значение, что и первый SELECT
COMMIT;
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы