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