В этом видео разбирается механизм блокировок строк в PostgreSQL. Рассматриваются 4 режима блокировок: два исключительных (UPDATE и NO KEY UPDATE) и два разделяемых (SHARE и KEY SHARE). Блокировки хранятся в поле xmax версии строки, а не в оперативной памяти, что позволяет блокировать неограниченное количество строк без потери производительности. Для организации очередей ожидания используются блокировки объектов, количество которых пропорционально числу процессов, а не строк. Также объясняется, как работает мультитранзакция (MultiTransaction) для разделяемых блокировок, механизм заморозки (freeze) для предотвращения переполнения счетчика транзакций и практическая демонстрация блокировок с помощью расширений pg_trgm и pgrowlocks.