Да: pg_cancel_backend отменяет текущий запрос, а pg_terminate_backend завершает сессию при наличии нужных прав.
Можно ли убить одну из активных сессий в PostgreSQL? Как это сделать?
Да: pg_cancel_backend отменяет текущий запрос, а pg_terminate_backend завершает сессию при наличии нужных прав.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Да: pg_cancel_backend отменяет текущий запрос, а pg_terminate_backend завершает сессию при наличии нужных прав.
Сначала найдите PID и владельца в pg_stat_activity и оцените транзакцию. Передавайте только проверенный PID; завершение соединения откатывает незавершённую транзакцию и может повлиять на приложение. Для обычного долгого запроса сначала разумно рассмотреть отмену, а не разрыв всех соединений.
Источник: www.postgresql.org.