В PostgreSQL default — Read Committed; Read Uncommitted работает как Read Committed. Repeatable Read использует устойчивый снимок, Serializable дополнительно выявляет опасные зависимости.
Расскажи про уровни изоляции транзакций в PostgreSQL
В PostgreSQL default — Read Committed; Read Uncommitted работает как Read Committed. Repeatable Read использует устойчивый снимок, Serializable дополнительно выявляет опасные зависимости.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В PostgreSQL default — Read Committed; Read Uncommitted работает как Read Committed. Repeatable Read использует устойчивый снимок, Serializable дополнительно выявляет опасные зависимости.
На Read Committed каждый запрос получает свой снимок и может увидеть изменения после предыдущего запроса. Repeatable Read сохраняет представление данных транзакции, но не устраняет все аномалии совместных бизнес-решений. Serializable может завершить транзакцию ошибкой сериализации, которую нужно обработать повтором всей операции. Во всех уровнях конкурирующие записи могут ждать locks.