SQLLab

Глава 17 из 28

17. Блокировки и deadlock

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

Продолжение доступно после покупки гайда или с подпиской Pro.

Откройте остальные главы

Ещё 20 глав: внутреннее устройство, оптимизация, администрирование. Покупка разовая, доступ навсегда.