Запрос отменил клиент или администратор
«ERROR: canceling statement due to user request» в PostgreSQL: выполнение запроса прервали по команде отмены. Это клиент, который перестал ждать, таймаут на стороне приложения или администратор через pg_cancel_backend.
Что это значит
Запрос был отменён по запросу отмены. Его присылает клиент: программа перестала ждать ответ (таймаут команды в драйвере, пользователь закрыл окно), или администратор выполнил pg_cancel_backend. В отличие от statement timeout, лимит здесь задан не в PostgreSQL, а на стороне того, кто отменил.
В Directum RX так выглядит отмена долгих запросов списков, когда пользователь ушёл со страницы: Обработка запроса была прервана вызывающей стороной.
Как проверить
- Рядом в журнале PostgreSQL строка
STATEMENT:с текстом отменённого запроса. - Сколько он обычно выполняется: найти его в
pg_stat_statements. - Не совпадает ли время с таймаутом команды в настройках приложения или драйвера.
Что сделать
- Единичные отмены не разбирать.
- Если отменяются одни и те же тяжёлые запросы, ускорять их: индексы, условия, объём выборки.
- Если отмены идут ровно по таймауту приложения, решить, что правильнее: поднять таймаут или ускорить запрос.
Ошибка повторяется?
Запустите Диагностика: за полминуты он покажет состояние базы, брокера, поиска и сервера. С отчётом разберём причину за 30 минут бесплатного созвона.
Написать