メインページ

提供: pgpool Wiki
2023年2月17日 (金) 06:07時点におけるAdmin (トーク | 投稿記録)による版 (安定版)
移動先: 案内検索


Pgpool Wikiへようこそ!

Pgpool-IIとは?

Pgpool-Ⅱは、PostgreSQLサーバとクライアントの間で稼働する、ミドルウェアです。BSDやMITに似たライセンスで公開されています。下記のような機能があります。

  • コネクションプーリング
Pgpool-IIはPostgresSQLとの接続を保持し、ユーザ名、データベース名、プロトコルバージョンなどの属性が同じである新しい接続があるたびに、それらの接続を再利用します。それによってコネクション確立のオーバヘッドを減らし、システム全体のスループットを向上させます。
  • レプリケーション
Pgpool-Ⅱは複数のPostgreSQLサーバを管理することができます。レプリケーション機能を使うことで、二つ以上の物理ディスクをリアルタイムでバックアップすることが可能になります。そのため、ディスクが故障してもサーバを止めることなく、サービスを継続することができます。
  • ロードバランス
データベースがレプリケーションされると、どのサーバでSELECT文が発行されても、同じ結果を返すようになります。Pgpool-Ⅱはレプリケーション機能を活用することで、SELECTクエリーを複数のサーバへ分散することで各PostgreSQLサーバの負荷を軽減し、システム全体のスループットを向上させています。パフォーマンスは、PostgreSQLサーバの数に比例して向上します。ロードバランスは、同時にたくさんのクエリーがたくさんのユーザによって発行されるような状況で、最も能力を発揮します。
  • 最大接続数の制御について
PostgreSQLには最大同時接続数の制限があり、制限を超えると新しい接続は拒絶されます。最大接続数の設定を行うことは、リソースの消費を増加させシステムのパフォーマンスに影響することになります。Pgpool-Ⅱにも最大接続数の制限がありますが、制限を超えた接続が来てもすぐさまエラーを返すことはなく、接続が空くのを待たせます。

Pgpool-Ⅱのライセンス

Copyright (c) 2003-2022 PgPool Global Development Group

上記の著作権表示がすべてのコピーに表示され、その著作権表示とこの許可通知の両方がサポートドキュメントに表示されていることを条件とし、使用、コピー、改変そしてこのソフトウェアとドキュメントをあらゆる目的で無料で配布する権限が付与されています。また、特定の書面による事前の許可なしに、著者の名前を広告やソフトウェアの配布に関する宣伝に使用することは認められていません。著者は、どのような目的であっても、このソフトウェアの適合性についていかなる保証も表明もしません。明示または黙示の保証なしで"そのままで"提供されています。

安定版

  • Pgpool-II: 4.4, 4.3, 4.2, 4.1, 4.0
  • pgpoolAdmin: 4.2, 4.1, 4.0

What's new

pgpoolAdmin の EOL について (2023/02/17)

Pgpool Global Development Group は、Pgpool-II の管理ツールであるpgpoolAdmin の End-of-Life (EOL) を発表します。

Pgpool Global Development Group は、2023 年 12 月 31 日まで pgpoolAdmin 4.0、4.1、4.2 のメンテナンスを提供します。 2024 年 1 月以降、これらのバージョンのバグ修正やセキュリティ修正を提供しません。

また、今後 Pgpool-II 4.3 以降対応の pgpoolAdmin をリリースしません。

長年にわたり pgpoolAdmin をご利用いただき、誠にありがとうございました。

イベント

PGConf.ASIA 2019 in Bali

2019年9月8日(日)~ 11日(水)に開催される "PGConf.ASIA 2019" で彭博が 「Setup a High-Availability and Load Balancing PostgreSQL Cluster: New Features of Pgpool-II 4.1」 と題した講演を行います。

PGConf.ASIA 2018 in Tokyo

2018年12月10日(月)~ 12日(水)に開催される "PGConf.ASIA 2018" で石井達夫、彭博が 「Celebrating its 15th Anniversary Pgpool-II Past Present and Future Celebrating its 15th Anniversary Pgpool-II Past Present and Future part2 と題した講演を行います。

PGConf.ASIA 2017 in Tokyo

2017年12月4日(月)~ 6日(水)に開催される "PGConf.ASIA 2017" で石井達夫が 「信頼性を向上させ、PostgreSQL 10 に対応した Pgpool-II 3.7 のご紹介」 と題した講演を行います。

安定版

pgpoolAdmin の EOL について (2023/02/17)

Pgpool Global Development Group は、Pgpool-II の管理ツールであるpgpoolAdmin の End-of-Life (EOL) を発表します。

Pgpool Global Development Group は、2023 年 12 月 31 日まで pgpoolAdmin 4.0、4.1、4.2 のメンテナンスを提供します。 2024 年 1 月以降、これらのバージョンのバグ修正やセキュリティ修正を提供しません。

また、今後 Pgpool-II 4.3 以降対応の pgpoolAdmin をリリースしません。

長年にわたり pgpoolAdmin をご利用いただき、誠にありがとうございました。

Pgpool-II 4.4.2, 4.3.5, 4.2.12, 4.1.15, 4.0.22 がリリースされました (2023/01/23)

このリリースには、セキュリティ修正が含まれています。

以下の条件をすべて満たす場合、SHOW POOL_STATUSコマンドによりwd_lifecheck_userのパスワードが公開されます。このコマンドは、Pgpool-IIに接続できるすべてのユーザーが実行できます。(CVE-2023-22332)

  • バージョン3.3以降
  • use_watchdogがonに設定されている
  • wd_lifecheck_methodにqueryが設定されている
  • wd_lifecheck_passwordに平文のパスワードが設定されている

上記条件のすべてに該当するユーザは、これらの最新バージョンにアップグレードするか (show pool_statusコマンドでwd_lifecheck_passwordが表示されなくなる)、次の回避策のいずれかを使用することを強くお勧めします。

4.0.x~4.4.xユーザ向けの回避策:

  • Watchdogを無効にする。(use_watchdogをoffに設定する)
  • wd_lifecheck_methodにheartbeatを設定する。
  • wd_lifecheck_passwordには空文字を設定し、パスワードはpool_passwdファイルに設定する。
  • wd_lifecheck_passwordにAESで暗号化したパスワードを設定する。

いずれにせよ、PostgreSQLでwd_lifecheck_passwordを変更することをお勧めします。

3.3.x~3.7.xユーザ向けの回避策:

  • Watchdogを無効にする。(use_watchdogをoffに設定する)
  • wd_lifecheck_methodにheartbeatを設定する。

いずれにせよ、PostgreSQLでwd_lifecheck_passwordを変更することをお勧めします。

Pgpool-II 3.7.xおよび以前のバージョンはサポートが終了しているため、これらのバージョンのマイナーアップデートはリリースされません。

ダウンロードはこちら

Pgpool-II 4.4.2の更なる情報はこちら:

Pgpool-II 4.3.5の更なる情報はこちら:

Pgpool-II 4.2.12の更なる情報はこちら:

Pgpool-II 4.1.15の更なる情報はこちら:

Pgpool-II 4.0.22の更なる情報はこちら:

Pgpool-II 4.4.1, 4.3.4, 4.2.11, 4.1.14, 4.0.21, 3.7.26 がリリースされました (2022/12/22)

ダウンロードはこちら


Pgpool-II 4.4.1の更なる情報はこちら:

Pgpool-II 4.3.4の更なる情報はこちら:

Pgpool-II 4.2.11の更なる情報はこちら:

Pgpool-II 4.1.14の更なる情報はこちら:

Pgpool-II 4.0.21の更なる情報はこちら:

pgpool-II 3.7.26の更なる情報はこちら:

Pgpool-II 4.4.0 リリース (2022/12/06)

Pgpool-II 4.4.0 がリリースされました。Pgpool-II 4.4.x 系最初の安定版リリースです。

V4.4 の主な新機能や改良は以下の通りです。

  • 新たに動的スペアプロセス管理機能を追加しました。 この機能により、静的プロセス管理モードと動的プロセス管理モードを選択することができます。
  • ストリーミングレプリケーションモードで、レプリケーションの遅延を時間で指定できるようにしました。 この目的のために、新しいパラメータdelay_threshold_by_timeを追加しました。
  • Pgpool-IIはPostgreSQLと同じようにunix_socket_directories、 unix_socket_groupおよびunix_socket_permissions をサポートするようになり、UNIXドメインソケットをより柔軟かつ正確に制御できるようになりました。
  • listen_addressesおよびpcp_listen_addressesで、カンマ区切りの複数のリッスンIPアドレスを設定できるようになりました。 これにより、接続を受け付けるネットワークインターフェイスを制御でき、安全でないネットワークインターフェイスで悪意のある接続要求が繰り返されるのを防ぐことができます。
  • trusted_serversが上位接続を確認するために使用するコマンドを指定できるようになりました。 この目的のために、新しいパラメータtrusted_server_commandを追加しました。
  • PostgreSQL 15 のSQLパーサを取り込みました。
  • ロックの競合を減らして、クエリキャッシュを高速化しました。これにより、同時実行中のクライアントは、キャッシュの内容をより迅速に取得できるようになりました。

ダウンロードはこちら

リリースノートはこちら:

Pgpool-II 4.3.3, 4.2.10, 4.1.13, 4.0.20, 3.7.25 がリリースされました (2022/08/18)

ダウンロードはこちら

Pgpool-II 4.3.3の更なる情報はこちら:

Pgpool-II 4.2.10の更なる情報はこちら:

Pgpool-II 4.1.13の更なる情報はこちら:

Pgpool-II 4.0.20の更なる情報はこちら:

pgpool-II 3.7.25の更なる情報はこちら:

Pgpool-II 4.3.2, 4.2.9, 4.1.12, 4.0.19, 3.7.24 がリリースされました (2022/05/19)

ダウンロードはこちら

Pgpool-II 4.3.2の更なる情報はこちら:

Pgpool-II 4.2.9の更なる情報はこちら:

開発

Pgpool-II 4.4 RC1 リリース (2022/11/22)

Pgpool-II 4.4 RC1がリリースされました。

安定版ではなく、開発者のためのバージョンです。

V4.4 の主な新機能や改良は以下の通りです。

  • 新たに動的スペアプロセス管理機能を追加しました。 この機能により、静的プロセス管理モードと動的プロセス管理モードを選択することができます。
  • ストリーミングレプリケーションモードで、レプリケーションの遅延を時間で指定できるようにしました。 この目的のために、新しいパラメータdelay_threshold_by_timeを追加しました。
  • Pgpool-IIはPostgreSQLと同じようにunix_socket_directories、 unix_socket_groupおよびunix_socket_permissions をサポートするようになり、UNIXドメインソケットをより柔軟かつ正確に制御できるようになりました。
  • listen_addressesおよびpcp_listen_addressesで、カンマ区切りの複数のリッスンIPアドレスを設定できるようになりました。 これにより、接続を受け付けるネットワークインターフェイスを制御でき、安全でないネットワークインターフェイスで悪意のある接続要求が繰り返されるのを防ぐことができます。
  • trusted_serversが上位接続を確認するために使用するコマンドを指定できるようになりました。 この目的のために、新しいパラメータtrusted_server_commandを追加しました。
  • PostgreSQL 15 のSQLパーサを取り込みました。
  • ロックの競合を減らして、クエリキャッシュを高速化しました。これにより、同時実行中のクライアントは、キャッシュの内容をより迅速に取得できるようになりました。

ダウンロードはこちら

リリースノートはこちら:

Pgpool-II 4.4 beta1 リリース (2022/11/14)

Pgpool-II 4.4 beta1がリリースされました。

安定版ではなく、開発者のためのバージョンです。

V4.4 の主な新機能や改良は以下の通りです。

  • 新たに動的スペアプロセス管理機能を追加しました。 この機能により、静的プロセス管理モードと動的プロセス管理モードを選択することができます。
  • ストリーミングレプリケーションモードで、レプリケーションの遅延を時間で指定できるようにしました。 この目的のために、新しいパラメータdelay_threshold_by_timeを追加しました。
  • Pgpool-IIはPostgreSQLと同じようにunix_socket_directories、 unix_socket_groupおよびunix_socket_permissions をサポートするようになり、UNIXドメインソケットをより柔軟かつ正確に制御できるようになりました。
  • listen_addressesおよびpcp_listen_addressesで、カンマ区切りの複数のリッスンIPアドレスを設定できるようになりました。 これにより、接続を受け付けるネットワークインターフェイスを制御でき、安全でないネットワークインターフェイスで悪意のある接続要求が繰り返されるのを防ぐことができます。
  • trusted_serversが上位接続を確認するために使用するコマンドを指定できるようになりました。 この目的のために、新しいパラメータtrusted_server_commandを追加しました。
  • PostgreSQL 15 のSQLパーサを取り込みました。
  • ロックの競合を減らして、クエリキャッシュを高速化しました。これにより、同時実行中のクライアントは、キャッシュの内容をより迅速に取得できるようになりました。

ダウンロードはこちら

リリースノートはこちら:

Pgpool-II 4.3 RC1 リリース (2021/11/25)

Pgpool-II 4.3 RC1がリリースされました。詳細についてはリリースノートをご覧ください。

安定版ではなく、開発者のためのバージョンです。

V4.3 の主な新機能や改良は以下の通りです。

  • watchdogノードが削除されたときにもquorum/VIPを維持するために、新しくwatchdogにメンバーシップ機構が導入されました。
  • 負荷分散ノードの選択時にレプリケーション遅延が最小のスタンバイノードを選択できるようにしました。
  • pcp_promote_nodeで昇格するノードIDを指定できるようにしました。
  • PostgreSQLが管理者によってシャットダウンされたとき、またはpg_terminate_backendによって強制終了されたときに、フェイルオーバを発生させないように設定できるようにしました。
  • pcp_proc_info、SHOW POOL_PROCESSES、およびSHOW POOL_POOLSコマンドにより有用な情報を表示するために、新しいフィールドを追加しました。
  • pcp_node_infoがすべてのバックエンドノード情報を一覧表示できるようにしました。
  • 実際のPostgreSQLの状態を示す新しいフィールドをSHOW POOL_NODESとその同種のコマンドに追加しました。
  • リカバリ元のホスト名を表す新しいパラメータをrecovery_1st_stage_commandおよびrecovery_2nd_stage_commandに追加しました。
  • ミリ秒単位でログにタイムスタンプを出力できるようにしました。
  • PostgreSQL 14 の SQL パーサを取り込みました。
  • pgpool.confファイルでincludeディレクティブに対応しました。
  • pgpool.confのサンプルファイルは、設定を容易にするために単一のサンプルファイルに統合されました。
  • pgpool.confサンプルファイルのすべての構成パラメータは、どのパラメータを変更する必要があるかを明確にするためにコメント化されました。

ダウンロードはこちら

リリースノートはこちら:

Pgpool-II 4.3 beta2 リリース (2021/11/18)

Pgpool-II 4.3 beta2がリリースされました。

安定版ではなく、開発者のためのバージョンです。

V4.3 の主な新機能や改良は以下の通りです。

  • watchdogノードが削除されたときにもquorum/VIPを維持するために、新しくwatchdogにメンバーシップ機構が導入されました。
  • 負荷分散ノードの選択時にレプリケーション遅延が最小のスタンバイノードを選択できるようにしました。
  • pcp_promote_nodeで昇格するノードIDを指定できるようにしました。
  • PostgreSQLが管理者によってシャットダウンされたとき、またはpg_terminate_backendによって強制終了されたときに、フェイルオーバを発生させないように設定できるようにしました。
  • pcp_proc_info、SHOW POOL_PROCESSES、およびSHOW POOL_POOLSコマンドにより有用な情報を表示するために、新しいフィールドを追加しました。
  • pcp_node_infoがすべてのバックエンドノード情報を一覧表示できるようにしました。
  • 実際のPostgreSQLの状態を示す新しいフィールドをSHOW POOL_NODESとその同種のコマンドに追加しました。
  • リカバリ元のホスト名を表す新しいパラメータをrecovery_1st_stage_commandおよびrecovery_2nd_stage_commandに追加しました。
  • ミリ秒単位でログにタイムスタンプを出力できるようにしました。
  • PostgreSQL 14 の SQL パーサを取り込みました。
  • pgpool.confファイルでincludeディレクティブに対応しました。
  • pgpool.confのサンプルファイルは、設定を容易にするために単一のサンプルファイルに統合されました。
  • pgpool.confサンプルファイルのすべての構成パラメータは、どのパラメータを変更する必要があるかを明確にするためにコメント化されました。

ダウンロードはこちら

リリースノートはこちら:

Pgpool-II 4.3 beta1 リリース (2021/11/09)

Pgpool-II 4.3 beta1がリリースされました。

安定版ではなく、開発者のためのバージョンです。

V4.3 の主な新機能や改良は以下の通りです。

  • watchdogノードが削除されたときにもquorum/VIPを維持するために、新しくwatchdogにメンバーシップ機構が導入されました。
  • 負荷分散ノードの選択時にレプリケーション遅延が最小のスタンバイノードを選択できるようにしました。
  • pcp_promote_nodeで昇格するノードIDを指定できるようにしました。
  • PostgreSQLが管理者によってシャットダウンされたとき、またはpg_terminate_backendによって強制終了されたときに、フェイルオーバを発生させないように設定できるようにしました。
  • pcp_proc_info、SHOW POOL_PROCESSES、およびSHOW POOL_POOLSコマンドにより有用な情報を表示するために、新しいフィールドを追加しました。
  • pcp_node_infoがすべてのバックエンドノード情報を一覧表示できるようにしました。
  • 実際のPostgreSQLの状態を示す新しいフィールドをSHOW POOL_NODESとその同種のコマンドに追加しました。
  • リカバリ元のホスト名を表す新しいパラメータをrecovery_1st_stage_commandおよびrecovery_2nd_stage_commandに追加しました。
  • ミリ秒単位でログにタイムスタンプを出力できるようにしました。
  • PostgreSQL 14 の SQL パーサを取り込みました。
  • pgpool.confファイルでincludeディレクティブに対応しました。
  • pgpool.confのサンプルファイルは、設定を容易にするために単一のサンプルファイルに統合されました。
  • pgpool.confサンプルファイルのすべての構成パラメータは、どのパラメータを変更する必要があるかを明確にするためにコメント化されました。

ダウンロードはこちら

リリースノートはこちら:

Pgpool-II 4.2 beta1 リリース (2020/10/27)

Pgpool-II 4.2 beta1 がリリースされました。

安定版ではなく、開発者のためのバージョンです。

V4.2 の主な新機能や改良は以下の通りです。

  • 設定ファイルpgpool.confの項目が大幅に改善され、設定と管理が容易になりました。
  • logging_collectorが実装され、ログ管理が容易になりました。
  • log_disconnectionsが実装され、接続終了のログが取得できるようになりました。
  • pg_encコマンドとpg_md5コマンドでパスワード登録をファイルから一括して行えるようになりました。
  • ヘルスチェックの統計情報をSHOW POOL_HEALTH_CHECK_STATSコマンドで、発行SQLの統計情報をSHOW POOL_BACKEND_STATSコマンド取得できるようになりました。
  • 新しいPCPコマンドpcp_reload_configが追加されました。
  • システムカタログの情報を参照することにより、write_function_listとread_only_function_listの記述を省略できるようになりました。
  • 複数PostgreSQLの間で更新の一貫性だけでなく、読み取り一貫性を保証する新しいクラスタリングモードsnapshot_isolation_modeが追加されました。
  • クライアントとPgpool-IIの間でLDAP認証がサポートされました。
  • SSLの設定にssl_crl_fileとssl_passphrase_commandが追加されました。
  • PostgreSQL 13のSQLパーサを取り込みました。

ダウンロードはこちら

リリースノートはこちら:

Pgpool-II 4.2 alpha1 リリース (2020/10/06)

Pgpool-II 4.2 alpha1 がリリースされました。

安定版ではなく、開発者のためのバージョンです。

V4.2 の新機能や変更点は以下の通りです。

  • 設定ファイルpgpool.confの項目が大幅に改善され、設定と管理が容易になりました。
  • logging_collectorが実装され、ログ管理が容易になりました。
  • log_disconnectionsが実装され、接続終了のログが取得できるようになりました。
  • pg_encコマンドとpg_md5コマンドでパスワード登録をファイルから一括して行えるようになりました。
  • ヘルスチェックの統計情報をSHOW POOL_HEALTH_CHECK_STATSコマンドで、発行SQLの統計情報をSHOW POOL_BACKEND_STATSコマンド取得できるようになりました。
  • 新しいPCPコマンドpcp_reload_configが追加されました。
  • システムカタログの情報を参照することにより、write_function_listとread_only_function_listの記述を省略できるようになりました。
  • 複数PostgreSQLの間で更新の一貫性だけでなく、読み取り一貫性を保証する新しいクラスタリングモードsnapshot_isolation_modeが追加されました。
  • クライアントとPgpool-IIの間でLDAP認証がサポートされました。
  • SSLの設定にssl_crl_fileとssl_passphrase_commandが追加されました。
  • PostgreSQL 13のSQLパーサを取り込みました。

ダウンロードはこちら

リリースノートはこちら:

Pgpool-II 4.1 beta1 リリース (2019/09/06)

Pgpool-II 4.1 beta1 がリリースされました。

安定版ではなく、開発者のためのバージョンです。

V4.1 主な改善点:

  • ステートメントレベルの負荷分散に対応しました。
  • 自動フェイルバックは、フェイルバックするために十分な安全を考慮しストリーミングレプリケーションのスタンバイサーバを自動的にアタッチできます。
  • 多くの領域でのパフォーマンス向上が向上しました。
    • 共有リレーションキャッシュは、セッション間でリレーションキャッシュを再利用でき、PostgreSQLシステムカタログに対する内部的なクエリを減らすことができます。
    • 不必要なパース処理を取り除くためにDML文用にSQLパーサを持ちます。
    • 特定クエリの負荷分散を制御します。
  • システムカタログに対する内部クエリを減らしました。
  • PostgreSQL12のSQLパーサを取り込みました。
  • など

ダウンロードはこちら

リリースノートはこちら:

古い情報

こちら をご覧ください。

Pgpool-Ⅱの有償サポートについて

Pgpool-Ⅱのサポートを含む有償パッケージがあります。コンサルティングと年間サポートはSRA OSS, Inc. Japan (https://www.sraoss.co.jp/) が行っています。