Завершить backend (pg_terminate_backend)
PostgreSQLСессииКоманда
SELECT pg_terminate_backend(12345);Что делает
Принудительно завершает backend-процесс с указанным PID; разрывает подключение и прерывает выполняющуюся транзакцию.
Когда использовать
Чтобы закрыть зависшее подключение или сессию, удерживающую блокировку.
Внимание
Выполняющаяся транзакция откатывается; незафиксированная работа теряется. Сначала попробуйте более мягкую pg_cancel_backend. Проверьте PID в pg_stat_activity.
Связанные материалы
- Отменить выполняющийся запрос (pg_cancel_backend)
- Показать активные и блокирующие запросы
- Построить дерево блокировок (найти корневой блокирующий процесс)
- Детально изучить ожидания блокировок по объектам и режимам блокировки (pg_locks)
- Найти долгие транзакции и транзакции в состоянии 'idle in transaction'
- Контролируемо массово завершить долгие сессии 'idle in transaction'