Глава 17 из 28
17. Блокировки и deadlock
MVCC избавляет читателей от ожидания, но не избавляет от ожидания писателей. Если две транзакции пытаются изменить одну строку, вторая должна дождаться первой: иначе одно из изменений потеряется. Для этого в PostgreSQL есть блокировки. Обычно они работают незаметно, пока в продакшене не появится зависший запрос или ошибка deadlock detected. В этой главе разберём, какие блокировки бывают, как увидеть, кто кого держит, и как не создавать взаимных ожиданий.
Продолжение доступно после покупки гайда или с подпиской Pro.
Откройте остальные главы
Ещё 20 глав: внутреннее устройство, оптимизация, администрирование. Покупка разовая, доступ навсегда.