Здравствуйте. Подскажите, как отключить таймаут в postgresql для запросов?
Есть скрипт, выполняющий запросы в базу, периодически они падают с ошибкой "ОШИБКА: выполнение оператора отменено из-за таймаута", при этом, если запрос выполнить вручную, то все работает исправно.
lock_timeout = 0
statement_timeout = 0
Необходимо изменить следующие параметры, или же нет?
max_standby_archive_delay
max_standby_streaming_delay
wal_receiver_status_interval
wal_receiver_timeout
Смотрите точное сообщение об ошибке. Лучше на языке оригинала, в переводе могли что-то потерять.
В списке переводов вижу:
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
Запретить клиенту ставить самому себе таймаут невозможно. Ищите, где перед этим запросом таймаут выставляется.