Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

Postgres child connection forced to terminate due to client_idle_limit 300 is reached

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!

【AIによる回答】

Pgpool-IIがアイドル状態のクライアント接続を制限時間(この場合300秒)経過後に強制切断したことを示す正常な動作ログです。この設定は、使用されていないコネクションを解放し、リソースを節約するために行われます。

Stack Overflow +1
原因
  • client_idle_limitの到達: pgpool.conf で設定された client_idle_limit (デフォルトまたは設定値、ここでは300秒) を超えて、クライアントからクエリが送信されなかった。
  • アプリケーションの設計: アプリケーションが接続を確立したまま、長期間データベース操作を行わずに維持している。
    Stack Overflow +2
対処法
このメッセージがERRORではなくDEBUGまたはLOGとして出ている場合、システム的に問題ないことがほとんどですが、ログを減らしたい、またはコネクションを維持したい場合の対処法は以下の通りです。
  1. client_idle_limitを延長・無効化する:
    pgpool.conf で client_idle_limit の値を大きくするか、0(無制限)に設定する。
    conf
    client_idle_limit = 0
    
  2. アプリケーション側の修正:
    アプリケーション側で、不要な接続を明示的に閉じる(クローズする)ように実装を見直す。
  3. Pgpool-IIのログレベル調整:
    このログが頻繁に出てノイズとなる場合、Pgpool-IIの設定でログレベルを下げる。
    PgpoolPgpool
※ child connection forced to terminate due to client_idle_limit は、Pgpool-IIがアイドルコネクションを掃除している通常の動作です。
タイトルとURLをコピーしました