Ruby on rails PG::与导轨和pgbouncer的连接不良

Ruby on rails PG::与导轨和pgbouncer的连接不良,ruby-on-rails,ruby,pgbouncer,Ruby On Rails,Ruby,Pgbouncer,我有rails和pgBouncer,我有数据库.yml中的重新连接:true,但我一直在控制台中得到这个: ActiveRecord::StatementInvalid: PG::ConnectionBad: PQconsumeInput() server closed the connection unexpectedly 同样的错误发生在sidekiq中,但不是在web中,rails在发生此错误后是否应该重新连接?这是在服务器中配置的超时(我不知道)。因此,它与rails/pgbounce

我有rails和pgBouncer,我有
数据库.yml中的
重新连接:true
,但我一直在控制台中得到这个:

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

同样的错误发生在sidekiq中,但不是在web中,rails在发生此错误后是否应该重新连接?

这是在服务器中配置的超时(我不知道)。因此,它与rails/pgbouncer没有任何关系,事实上,
数据库中的
reconnect
标志。yml
不再在rails中使用。

也许它是设置Postgresql的以下配置参数的解决方案

tcp\u保持空闲\u空闲(整数)

指定TCP应向客户端发送keepalive消息的非活动秒数。值0使用系统默认值。此参数仅在支持TCP_KEEPIDLE或等效套接字选项的系统以及Windows上受支持;在其他系统上,它必须为零。在通过Unix域套接字连接的会话中,此参数将被忽略并始终读取为零

tcp\u保持有效间隔(整数)

指定重新传输客户端未确认的TCP keepalive消息的秒数。值0使用系统默认值。此参数仅在支持TCP_KEEPINTVL或等效套接字选项的系统和Windows上受支持;在其他系统上,它必须为零。在通过Unix域套接字连接的会话中,此参数将被忽略并始终读取为零

tcp\u keepalives\u计数(整数)

指定在服务器与客户端的连接被视为已断开之前可能丢失的TCP保留活动数。值0使用系统默认值。此参数仅在支持TCP_Keepnt或等效套接字选项的系统上受支持;在其他系统上,它必须为零。在通过Unix域套接字连接的会话中,此参数将被忽略并始终读取为零