Блокировки
Автоматический мониторинг блокировок PostgreSQL, сводные уведомления и поиск корневой блокирующей сессии в дереве.
Когда использовать
Настройки автоматического мониторинга
Откройте настройки и в секции Общие настройте:
- Автоматический мониторинг блокировок — включает отдельный фоновый сервис; по умолчанию мониторинг включён;
- Интервал проверки блокировок (сек) — период опроса PostgreSQL; значение по умолчанию — 5 секунд;
- Минимальная длительность блокировки до уведомления — отсекает кратковременные ожидания и показывает только устойчивые блокировки.
Сводное уведомление
При наличии устойчивых блокировок в левом нижнем углу основного окна появляется одно сводное уведомление. Оно показывает количество обнаруженных случаев или цепочек, обновляется при изменении их состава, не дублируется и исчезает, когда блокировок больше нет.
Уведомление визуально выделяется, если хотя бы один blocker принадлежит текущему экземпляру pgtools. Нажмите на уведомление, чтобы открыть панель с карточками всех активных блокировок. Карточки обновляются на месте — закрывать и заново открывать панель не нужно.
Карточка блокировки
Каждая карточка показывает blocker PID и длительность блокировки. Набор действий зависит от того, принадлежит ли blocker текущему экземпляру pgtools:
- Внешняя сессия: открыть дерево блокировок или скрыть уведомление;
- Активный cursor pgtools: закрыть cursor, перейти к его вкладке, открыть дерево блокировок или скрыть уведомление;
- Другая активная сессия pgtools: перейти к вкладке, прервать выполнение запроса, открыть дерево блокировок или скрыть уведомление.
Cursor закрывается тем же штатным механизмом, что и кнопкой на панели результата. Чужой запрос pgtools прерывается только после явного нажатия пользователем; автоматически мониторинг сессии не завершает.
Дерево блокировок
Выберите Открыть дерево блокировок в карточке или откройте инструмент блокировок из подключения. pgtools получает сведения из PostgreSQL и строит дерево на стороне приложения. Верхний узел показывает корневую блокирующую сессию, ниже расположены ожидающие сессии и продолжения цепочки.
Проверьте PID, пользователя, базу, состояние транзакции, текст запроса и длительность ожидания. При lock-storm базовый диагностический запрос остаётся компактным, а связи между большим количеством сессий рассчитываются в приложении.

Безопасный порядок действий
- Откройте карточку и дерево, найдите корневой blocker.
- Определите, это ожидаемая рабочая транзакция, забытый cursor, запрос в другой вкладке pgtools или внешняя сессия.
- Если blocker принадлежит pgtools, сначала перейдите к вкладке и проверьте контекст.
- Закройте ненужный cursor либо вручную прервите запрос. Внешнюю сессию завершайте только после проверки владельца и последствий отката.
- Убедитесь, что цепочка исчезла из сводного уведомления.