簡體   English   中英

PG :: ConnectionBad與rails和pgbouncer

[英]PG::ConnectionBad with rails and pgbouncer

我有rails和pgBouncer,並且我已經reconnect: truedatabase.yml中為reconnect: true ,但是我一直在控制台中得到它:

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

在sidekiq中會發生相同的錯誤,但在Web中不會發生,發生此錯誤后,rails是否應該重新連接?

這是服務器中配置的超時(我不知道)。 因此它與rails / pgbouncer沒有任何關系,實際上database.yml reconnect標志。yml在rails中不再使用。

也許設置以下Postgresql配置參數是一種解決方案。

tcp_keepalives_idle(整數)

指定不活動的秒數,在此秒之后,TCP應該向客戶端發送保持活動消息。 值0使用系統默認值。 僅在支持TCP_KEEPIDLE或等效套接字選項的系統以及Windows上才支持此參數。 在其他系統上,它必須為零。 在通過Unix域套接字連接的會話中,此參數將被忽略,並且始終讀取為零。

tcp_keepalives_interval(整數)

指定秒數,在此秒數之后,客戶端未確認的TCP Keepalive消息應重新傳輸。 值0使用系統默認值。 僅在支持TCP_KEEPINTVL或等效套接字選項的系統以及Windows上才支持此參數。 在其他系統上,它必須為零。 在通過Unix域套接字連接的會話中,此參數將被忽略,並且始終讀取為零。

tcp_keepalives_count(整數)

指定在服務器與客戶端的連接被視為無效之前可以丟失的TCP keepalive數量。 值0使用系統默認值。 僅在支持TCP_KEEPCNT或等效套接字選項的系統上支持此參數。 在其他系統上,它必須為零。 在通過Unix域套接字連接的會話中,此參數將被忽略,並且始終讀取為零。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM