Уровни изоляции, точки сохранения и откаты

Транзакции и обработка ошибок в PostgreSQL

Jason Myers

Instructor

Уровни изоляции

Уровень изоляции Грязное чтение Неповторяемое чтение Фантомное чтение Аномалия сериализации
Read Uncommitted Защищён (PostgreSQL) уязвим уязвим уязвим
Read Committed Защищён уязвим уязвим уязвим
Repeatable Read Защищён Защищён Защищён (PostgreSQL) уязвим
Serializable Защищён Защищён Защищён Защищён
Транзакции и обработка ошибок в PostgreSQL

Repeatable Read

  • SERIALIZABLE

    • Эмулирует последовательное выполнение всех зафиксированных транзакций.
  • REPEATABLE READ

    • Видит данные
      • зафиксированные до начала транзакции
      • результаты предыдущих операторов в рамках транзакции
    • Не видит изменений, зафиксированных параллельными транзакциями.
Транзакции и обработка ошибок в PostgreSQL

Визуализация REPEATABLE READ

Диаграмма REPEATABLE READ

Транзакции и обработка ошибок в PostgreSQL

Визуализация REPEATABLE READ

Диаграмма REPEATABLE READ

Транзакции и обработка ошибок в PostgreSQL

Визуализация REPEATABLE READ

Диаграмма REPEATABLE READ

Транзакции и обработка ошибок в PostgreSQL

REPEATABLE READ

START TRANSACTION ISOLATION LEVEL REPEATABLE READ;

UPDATE inventory SET quantity = quantity - 4 WHERE name = 'macaron'; SAVEPOINT first;
UPDATE inventory SET quantity = quantity - 12 SAVEPOINT second; COMMIT;
Транзакции и обработка ошибок в PostgreSQL

Давайте потренируемся!

Транзакции и обработка ошибок в PostgreSQL

Preparing Video For Download...