Встречается на собеседованиях • сегодня
На каком уровне изоляции отсутствует фантомное чтение в PostgreSQL
В PostgreSQL фантомное чтение отсутствует только на уровне изоляции SERIALIZABLE.
Остальные уровни (READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ) допускают фантомное чтение.
PostgreSQL уникален тем, что его REPEATABLE READ блокирует только уже существующие строки, но не предотвращает вставку новых, которые могут стать "фантомами" в последующих запросах.
Пример:
sql
-- Сессия 1
BEGIN ISOLATION LEVEL SERIALIZABLE;
SELECT * FROM users WHERE age > 30; -- видит 2 записи
-- Сессия 2
INSERT INTO users VALUES (3, 'Bob', 35);
-- Сессия 1
SELECT * FROM users WHERE age > 30; -- при SERIALIZABLE всё равно увидит 2 записи
COMMIT;
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы