| Pgpool-II 4.7.1 文書 | |||
|---|---|---|---|
| 前のページ | 上に戻る | 付録 A. リリースノート | 次のページ |
リリース日: 2026-02-26
watchdog/heartbeatプロセスがLISTENするアドレスとポートを指定できるパラメータを追加しました。(Taiki Koshino)
wd_listen_addressとwd_listen_portを指定することによって、watchdogは指定したアドレスとポートのみでLISTENするようになります。 heartbeatプロセスについてもwd-heartbeat_listen_addressesとwd_heartbeat_listen_portでLISTENするアドレスとポートを指定できます。
ディスカッション: Re: Pgpool-II 4.7.0 released.
並列でmakeを実行できるようになりました。(Tatsuo Ishii)
以前、makeの並列実行は以下のように失敗していました。
In file included from parser.c:27:
../../src/include/parser/gramparse.h:33:10: fatal error: gram.h: No such file or directory
33 | #include "gram.h"
anthonyrousselによってパッチが作成され、Tatsuo Ishiiによってレビューされました。
ディスカッション: Fix parallel build
backend_hostnameとprimary_conninfoのホストが不一致であることを詳細にログに出力するようになりました。(Taiki Koshino)
pgpool.confに設定されているbackend_hostnameとPostgreSQLのprimary_conninfoのホスト設定が一致しない場合以下のようなログが出力されます。
sr_check_worker pid 25099: DETAIL: pgpool.conf backend_hostname: "pgpool0" does not match PostgreSQL primary_conninfo host: "pgpool_logtest"
サポートされている最小のOpenSSLバージョンを明記しました。(Tatsuo Ishii)
こちらは以下を使用したconfigure.acによって実現しています。
AC_DEFINE(OPENSSL_API_COMPAT, [0x10002000L],
[Define to the OpenSSL API version in use. This avoids deprecation warnings from newer OpenSSL versions.])
サポートされている最小バージョンは1.0.2で、これは現時点ではPostgreSQLと同じです(実際にはAC_DEFINEはPostgreSQLから導入されています)。 また、インストールされているOpenSSLが3.0などの新しいバージョンである場合、OpenSSLの非推奨警告を回避できる可能性があります。 さらに、インストールドキュメントに、必要なOpenSSLの最小バージョンは1.0.2であることを記載しました。
RHELのPCPライブラリとのコンフリクトを回避するためにlibpcpをlibpgpoolpcpに名前を変更しました。(Bo Peng)
Pgpool-IIから提供されているlibpcp.soライブラリはRHELのlibpcp.soライブラリとコンフリクトします。 コンフリクトを回避するためにPgpool-IIのlibpcpライブラリ名ををlibpgpoolpcpに変更しました。
ディスカッション: Installing pgpool-II fails due to naming conflict with RHEL provided library
logdirとwork_dirの両方が設定されていないときに起動に失敗する問題を修正しました。(Taiki Koshino)
この問題はLuca Ferrariによって報告され、Taiki Koshinoによってレビューされました。
ディスカッション: work_dir and/or logdir not set to default on 4.7 ?
check_transaction_state_and_abort()の考慮不足を修正しました。(Tatsuo Ishii)
この関数はフロントエンドがNULLアカウントであるケースを考慮していませんでした。
この問題はCoverityによって発見されました。
walker()が早めに結果を返すように修正しました。(Tatsuo Ishii)
以前、walker()は対象オブジェクトを見つけたときにfalseを返していましたが、
trueを返すようにし処理をショートカットするようにしました。
またwaker()の設計意図が分かりやすいようにPostgreSQLのコメントを移植しました。
この問題はliujinyang-highgoによって報告され、Tatsuo Ishiiによってレビューされました。
scram-sha-256認証でのメモリリークを修正しました。(Tatsuo Ishii)
この問題はCoverityによって発見されました。
malloc()の返り値チェックを修正しました。(Tatsuo Ishii)
create_inet_domain_sockets()はソケットのファイルディスクリプタ用メモリを割り当てている間にmalloc()が返す値のチェックをしていませんでした。
ヘルスチェックが開始しない問題を修正しました。(Tatsuo Ishii)
以前、Pgpool-IIはバックエンドノードがダウンしている場合ヘルスチェックを開始しませんでした。 これは自動フェイルバックを阻害します。 Pgpoolは-Dを指定していない場合pool_statusを読み込みます。 もしpgpool_statusにダウンと記載されている場合はpgpoolはヘルスチェックを開始しませんでした。 自動フェイルバックはヘルスチェックから引き起こされるため、ヘルスチェックが起動しないと自動フェイルバックも実行されずバックエンドノードが復帰できませんでした。 この修正によりノードの状態にかかわらずヘルスチェックが起動するようになりました。
この問題はMeng Feilongによって報告され、Tatsuo Ishiiによってレビューされました。
ディスカッション: Nodes in the down state cannot failback
nodes.hに定義されているenum型のNodeTag値の重複を修正しました。(Tatsuo Ishii)
PostgreSQLから取り込んだnodes.hのNodeTag定義とPgpool-II独自の定義で起きていた重複を解消しました。
この問題はliujinyang-highgoによって報告・検討され、Tatsuo Ishiiによってレビューされました。
ディスカッション: an issue about NodeTag definition.
pcp_connectでのメモリリークを修正しました。(Tatsuo Ishii)
この関数は複数個所でfreeaddrinfo()を呼び出していませんでした。
integer型のオーバーフローが起きる可能性がある問題を修正しました。(Tatsuo Ishii)
pool_write_flush()とpool_flus_it()ではwrite(2)が使用されています。
write(2)はssize_tを返しますが、コード内には戻り値がint変数に代入されている箇所がいくつかありました。
その結果、戻り値が負の値として評価され、エラーが発生する可能性がありました。