1. Установите код и сеанс
Зафиксируйте PostgreSQL major, экземпляр, базу, время и исходный ответ клиента. 57014 означает query_canceled в PostgreSQL. Он не идентифицирует единственного инициатора отмены и не равен потере соединения сам по себе. Здесь используется документация 18; настройки конкретного сервера, роли и приложения ещё нужно подтвердить.
2. Найдите сообщение с контекстом
В имеющейся jsonlog-копии отберите state_code=57014 и сохраните message, время, pid и session_id. Затем прочитайте соседние сообщения того же сеанса и соответствующий запрос приложения. Сокращённый пример команды не должен потерять исходную строку. PID проверяйте вместе со временем и экземпляром, поскольку процессные номера переиспользуются.
3. Прочитайте пример
В JSON-примере текст указывает на отмену по запросу пользователя. Другие причины SQLSTATE 57014 могут давать иной контекст. В другой записи подробность может указывать таймаут. Не заменяйте фактическое сообщение заранее выбранной причиной. Отсутствующие в учебном фрагменте session_id и statement нельзя восстановить из самого SQLSTATE.
4. Разберите источник отмены
Сопоставьте подробность с конфигурацией лимитов, действовавших для этого соединения, и действиями клиента. Текущее SHOW statement_timeout в новом сеансе не восстанавливает старую настройку другой роли. Отдельно проверьте таймеры приложения и прокси: их истечение и серверная отмена являются разными наблюдениями. Не увеличивайте таймаут и не завершайте backend как часть чтения события.
5. Проверьте транзакционную и деловую цепочку
Найдите границы транзакции, доступные COMMIT/ROLLBACK и повторные попытки приложения. Отменённый statement не доказывает, что вся пользовательская операция не имела побочных действий в другой системе или новой транзакции. Если клиент видит только общий timeout, установите, получил ли он серверный SQLSTATE. Итог описывайте отдельно для statement, транзакции и операции приложения, не объединяя их словом «сбой».
6. Если причину восстановить нельзя
Проверьте период, форматы журналов, ротацию и источник клиентской ошибки. Может не сохраниться statement, историческая настройка или идентификатор request. Зафиксируйте, какая часть отсутствует; не приписывайте отмену конкретному сотруднику по фразе user request. Пустая выборка по jsonlog также может означать другой log_destination, а не отсутствие отмен на сервере.