на UPDATE. уже 5+ часов.
решили срубить.
делаю select pg_cancel_backend(pid1), pg_terminate_backend(pid1), pg_cancel_backend(pid2), pg_terminate_backend(pid2);
никаких ошибок, возвращает true.
но запросы продолжают висеть в статусе active, wait_event - NULL. разве они не должны прейти в status ROLLBACK?
пробовал из ос килять - такой же результат.
в ps aux | grep pids статус у процессов Rs.
никто не сталкивался? пока мысль подождать несколько часов - авось роллбэкнутся.
мне кажется, что если попытаться рестартнуть сервис - то он повиснет при стопе службы, ожидая завершения запросов. если срубить с -9, то вообще за данные страшно...
з.ы. а приложение, которое запустило эти запросы померло несколько часов назад =/
Ну, в принцыпе -9 не так и страшно постгресу... А ещё можно debug symbols поставить и через gdb посмотреть, где они там подвисли...
Кстати, только что у одного человека была такая жэ фигня на 15.3 https://t.me/pgsql/503047 (Совпадение? Ну, возможно). В общем, киляйте сервер и переезжайте на 15.4.
спасибо! а вы знаете, один запрос уже "ушёл". главное не торопиться, походу)_
Обсуждают сегодня