PG :: ConnectionBad с рельсами и pgbouncer - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть rails и pgBouncer, и у меня reconnect: true в database.yml, но я продолжаю получать это в консоли:

ActiveRecord::StatementInvalid: PG::ConnectionBad: PQconsumeInput() server closed the connection unexpectedly

Та же ошибка происходит в sidekiq, но не в сети, не следуетрельсы восстанавливаются после появления этой ошибки?

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Может быть, это решение для установки следующих параметров конфигурации Postgresql.

tcp_keepalives_idle (integer)

Указывает количество секунд бездействия, после которого TCP долженотправить клиенту сообщение поддержки активности.Значение 0 использует системное значение по умолчанию.Этот параметр поддерживается только в системах, которые поддерживают TCP_KEEPIDLE или эквивалентный параметр сокета, и в Windows;в других системах оно должно быть равно нулю.В сеансах, подключенных через сокет домена Unix, этот параметр игнорируется и всегда читается как ноль.

tcp_keepalives_interval (integer)

Указывает количество секунд, после которогоСообщение keepalive TCP, которое не подтверждено клиентом, должно быть передано повторно.Значение 0 использует системное значение по умолчанию.Этот параметр поддерживается только в системах, которые поддерживают TCP_KEEPINTVL или эквивалентный параметр сокета, и в Windows;в других системах оно должно быть равно нулю.В сеансах, подключенных через сокет Unix-домена, этот параметр игнорируется и всегда читается как ноль.

tcp_keepalives_count (integer)

Указывает количество сообщений поддержки TCP, которые могутбыть потеряным до того, как соединение сервера с клиентом будет считаться мертвым.Значение 0 использует системное значение по умолчанию.Этот параметр поддерживается только в системах, которые поддерживают TCP_KEEPCNT или эквивалентную опцию сокета;в других системах оно должно быть равно нулю.В сеансах, подключенных через сокет Unix-домена, этот параметр игнорируется и всегда читается как ноль.

0 голосов
/ 22 февраля 2019

Это был тайм-аут на сервере (о котором я не знал).Так что это не имеет никакого отношения к rails / pgbouncer, фактически флаг reconnect в database.yml больше не используется в rails.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...