Смотрите точное сообщение об ошибке. Лучше на языке оригинала, в переводе могли что-то потерять.
В списке переводов вижу:
msgid "canceling statement due to conflict with recovery"
msgstr ""
"выполнение оператора отменено из-за конфликта с процессом восстановления"
--
#, c-format
msgid "canceling statement due to lock timeout"
msgstr "выполнение оператора отменено из-за таймаута блокировки"
--
#, c-format
msgid "canceling statement due to statement timeout"
msgstr "выполнение оператора отменено из-за таймаута"
"canceling statement due to statement timeout" - это строго про statement_timeout. Значит для той транзакции он не 0
Запретить клиенту ставить самому себе таймаут невозможно. Ищите, где перед этим запросом таймаут выставляется.