| Pgpool-II 4.6.4 文書 | |||
|---|---|---|---|
| 前のページ | 上に戻る | 付録 A. リリースノート | 次のページ |
リリース日: 2025-11-25
不要な application_name の処理を削除しました。(Tatsuo Ishii)
以前のコミットで、既存接続を再利用する際に application_name を設定する処理が追加されました。
しかしこれは不要です。DISCARD ALLにより接続再利用時に自動的に application_name がリセットされ、
send_params()によってフロントエンドに必要なパラメータステータス(application_name を含む)が送信されます。
この冗長な処理を削除することで、特に地理的に離れたバックエンドノードでのパフォーマンスが向上します。
ディスカッション: Severely degraded performance of pgPool in geo-distributed configurations
CopyOutでのセグメンテーションフォルトを修正しました。(Tatsuo Ishii)
拡張プロトコルでCOPY relname TO STDOUTが実行された場合、Pgpool-IIがセグフォルトを起こしていました。
この問題はhttps://github.com/teteshによって報告されました。
Watchdogのスプリットブレイン回避するよう修正しました。(Tatsuo Ishii)
Watchdogはビーコンメッセージとハートビートで通信します。 ハートビートが有効でない場合、ビーコンが30秒以上届かないとスプリットブレインが発生することがあります。 古いリーダーを無効化することで、同時に二人のリーダーが存在しないように修正しました。 ノードがリーダーからのビーコンを2回以上見逃すと、リーダーはLOST状態となり、 set_state(WD_JOINING) により新リーダー選出が開始されます。
存在しないプリペアドステートメント使用時のFATALエラー防止するよう修正しました。(Tatsuo Ishii)
以前はBind()が存在しないプリペアドステートメントでFATALエラーを出していました。
はステートメントの存在を確認し、存在しない場合はフロントエンドにERRORメッセージを送信するようになりました。ログは残りません。
pg_enc -pと -P両方使用時に動作しない問題を修正しました。(Tatsuo Ishii)
元の報告では、pg_enc -p -P実行時にパスワードと暗号キーを求められましたが、 キーが提供されない場合に失敗していました。 また、コメント /* prompt for postgres password */ が誤解を招くため、 /* prompt for password to be encrypted */ に修正されました。
ディスカッション: pg_enc
32ビット環境でのコンパイルの問題を修正しました。(Tatsuo Ishii)
32ビットシステムでsrc/parser/snprintf.cをコンパイルするとisnan()やisinf()が未定義でエラーになりました。
math.hをインクルードし、ヘッダーファイルの順序も整理しました。
元々 PostgreSQLから取り込まれたファイルで、math.hは既に含まれていました。
修正は fix compiling issues for 32-bit targets のプルリクエストに記載してあります。
recovery_1st_stage.sampleでBashのディレクトリ削除を安全に行うよう修正しました。(Taiki Koshino)
rmコマンドの変数をクォートし、意図しない削除を防止しました: rm -rf "${DEST_NODE_PGDATA}"
--with-memcached指定なしでコンパイルする際のエラーを修正しました。(Tatsuo Ishii)
--with-memcached指定なしでコンパイルするとエラーが発生していました。 対応として該当コードブロックを #ifdef USE_MEMCACHEDで囲みました。
この問題はBo Pengによって報告されました。
クエリキャッシュロックファイルの取り扱い修正を修正しました。(Tatsuo Ishii)
クエリキャッシュモジュールは並列制御のため logdir にロックファイルを作成しますが、 メインプロセスがゴミファイルを作成したり、シャットダウン時に削除されない問題がありました。
この問題はBo Pengによって報告・分析されました。
8.2. Pgpool-II + Watchdog Setup Example の "PostgreSQLスタンバイ設定" ドキュメントを更新しました。(Taiki Koshino)
オンラインリカバリなしでスタンバイを設定する場合、postgresql.auto.confに primary_conninfo を書き込まないよう注意を追加しました。
ディスカッション: Follow primary command not fixing postgresql.auto.conf
watchdog_setupのマニュアルを修正しました。(Tatsuo Ishii)
heartbeartがwatchdog_setupに設定されていないと誤記されていた箇所を修正しました。
023.ssl_connectionをPostgreSQL 18に対応するよう修正しました。(Tatsuo Ishii)
PostgreSQL 18でpsqlの \conninfo出力形式が大幅に変更されたため、 このテストが失敗していました。 PostgreSQLバージョンに応じてテストスクリプトを修正しました。
010.rewrite_timestampのRubyスクリプトを修正しました。(Tatsuo Ishii)
RubyのFile.existsは新しいバージョンで非推奨のため、File.existに置き換えました。
034と075のタイムアウトを調整しました。(Tatsuo Ishii)
034.promote_nodeと075.detach_primary_left_down_nodeのスクリプト終了タイムアウトを60秒から120秒に変更し、 誤エラーが発生する可能性を減らしました。
023.ssl_connectionにssl_ecdh_curveのテストを追加しました。(Tatsuo Ishii)
023.ssl_connectionはssl_ecdh_curveのテストをカバーしていなかったため、 不正なssl_ecdh_curveパラメータでフロントエンドとpgpoolの接続が失敗するか確認しました。