Что это значит

В PostgreSQL задан statement_timeout: на уровне сервера, базы, роли или самим приложением. Запрос, который идёт дольше, база прерывает с кодом 57014. В Directum RX это видно как «could not execute query» с этим кодом внутри, а пользователь получает ошибку на операции.

Вариант той же ошибки: canceling statement due to user request, когда запрос отменило само приложение по своему таймауту.

Как проверить

  1. Где задан таймаут:
select name, setting, source from pg_settings where name = 'statement_timeout';
select rolname, rolconfig from pg_roles where rolconfig is not null;
  1. Какие запросы долгие:
select round(mean_exec_time) ms, round(max_exec_time) max_ms, calls, left(query, 120)
from pg_stat_statements order by max_exec_time desc limit 20;
  1. План медленного запроса через explain (analyze, buffers) на копии или в тихое время.

Что сделать

  1. Ускорить запрос: чаще всего не хватает индекса на столбец из условия или соединения. Проверить, нет ли ожидания блокировок: тогда запрос не медленный, а ждёт.
  2. Если запрос тяжёлый по природе (отчёт, массовая операция), задать больший таймаут только для этой роли или сессии, а не для всей базы.
  3. Не отключать таймаут совсем: без него один запрос может держать ресурсы часами.