1.5Kпросмотров
52.5%от подписчиков
19 марта 2026 г.
Score: 1.6K
Уровни изоляции в PostgreSQL: аномалии, которые можно увидеть своими глазами Андрей Овчаренко на PG BootCamp 2026 вместо скучной теории устроил live-демонстрацию того, как работают уровни изоляции в реальной PostgreSQL. неповторяющееся чтение, фантомы — всё это было показано в живых psql-сессиях. Главное: • PostgreSQL не поддерживает Read Uncommitted — этот уровень работает как Read Committed. Так что грязного чтения вы не дождётесь.
• Read Committed (по умолчанию) даёт хороший баланс, но внутри одной транзакции данные могут измениться — классическое неповторяющееся чтение.
• Repeatable Read в PostgreSQL сильнее стандарта: он защищает не только от неповторяющегося чтения, но и от фантомов. Однако остаются другие аномалии.
• Serializable — максимальная изоляция, транзакции выполняются так, будто идут одна за другой. Но плата — скорость работы и возможные ошибки сериализации, которые приложение должно обрабатывать. На демо было видно, как при Read Committed повторный SELECT возвращает свежие данные закоммиченной транзакции, а Repeatable Read «замораживает» снимок на момент первого запроса. Вывод: выбирайте уровень под задачу. Для большинства веб-приложений достаточно Read Committed по умолчанию. Если важна консистентность сложных отчётов — берите Repeatable Read. Для финансов — Serializable, но будьте готовы повторять упавшие транзакции. P.S. Запись live-доклада Андрея, как и всех остальных докладов, будет доступна через пару недель. 🌐 ССЫЛКА НА ОНЛАЙН-ТРАНСЛЯЦИЮ