2.10. RPMからのインストール

この章では、RPMからPgpool-IIをインストールする方法について説明します。 ソースコードからインストールする場合は、項2.2を参照してください。

Pgpool-IIコミュニティはRHEL9/8/7および互換OS向けにRPMパッケージを提供しています。 パッケージファイルはPgpool-IIの公式リポジトリから入手できます。

以下のパッケージがあります。

表 2-1. Pgpool-II RPM Packages

パッケージ名説明
pgpool-II-pgXXPgpool-IIの動作上に必要なライブラリやバイナリが含まれる
pgpool-II-pgXX-extensionsオンラインリカバリ機能を使用する場合、このパッケージをすべてのPostgreSQLサーバにインストールする必要がある
pgpool-II-pgXX-debuginfoデバッグ情報が含まれる
pgpool-II-pgXX-debugsourceRHEL8/9の場合のみ。デバッグ情報が含まれる
pgpool-II-pgXX-extensions-debuginfoRHEL8/9の場合のみ。デバッグ情報が含まれる
pgpool-II-pgXX-devel開発者向けのヘッダーファイルが含まれる

Pgpool-IIPostgreSQLのライブラリと拡張のディレクトリが必要です。 そのディレクトリへのパスはPostgreSQLのバージョンごとに異なっているので、Pgpool-IIはPostgreSQLバージョンごとにパッケージを提供しています。 上記パッケージの「XX」はPostgreSQLのバージョンを表す2桁の数値です。PostgreSQLバージョンに対応するPgpool-IIのRPMを選んでください。(例えば、PostgreSQL 16を利用している場合は、pgpool-II-pg16を使用してください)

2.10.1. 事前準備

Pgpool-II関連のパッケージはPostgreSQLコミュニティのリポジトリにもあるため、 PostgreSQLのリポジトリパッケージがすでにインストールされている場合は、PostgreSQLコミュニティのリポジトリからPgpool-IIをインストールしないように/etc/yum.repos.d/pgdg-redhat-all.repoにexclude設定を追加します。Pgpool-IIPostgreSQLをそれぞれ別のサーバにインストールする場合は、以下の設定は不要です。

vi /etc/yum.repos.d/pgdg-redhat-all.repo
  

以下は、/etc/yum.repos.d/pgdg-redhat-all.repoの設定例です。

[pgdg-common]
...
exclude=pgpool*


[pgdg16]
...
exclude=pgpool*

[pgdg15]
...
exclude=pgpool*

[pgdg14]
...
exclude=pgpool*

[pgdg13]
...
exclude=pgpool*

[pgdg12]
...
exclude=pgpool*

[pgdg11]
...
exclude=pgpool*
  

2.10.2. RPMのインストール

ここではPgpool-IIの公式YUMレポジトリを使用してPgpool-IIをインストールします。

以下の手順はRHEL8にPostgreSQL 16に対応したPgpool-II 4.5.xをインストールすることが前提となります。 他のバージョンのPostgreSQLを利用している場合は、PostgreSQLのバージョンに応じて「pgXX」を適宜置き換えてください。

まず、Pgpool-IIバージョンとディストリビューションに対応するレポジトリをインストールします。 REHL7/9の場合は、こちらを参照してください。

dnf install https://www.pgpool.net/yum/rpms/4.5/redhat/rhel-8-x86_64/pgpool-II-release-4.5-1.noarch.rpm
  

次に、Pgpool-IIをインストールします。

dnf install pgpool-II-pg16
  

Pgpool-IIのオンラインリカバリ機能を利用するには、すべてのPostgreSQLサーバにpgpool-II-pgXX-extensionsをインストールします。また、pgpool-II-pgXX-extensionspgpool-II-pgXXパッケージに依存しているため、Pgpool-IIPostgreSQLをそれぞれ別のサーバにインストールしている場合は、pgpool-II-pgXXPostgreSQLが稼働しているサーバにインストールする必要があります。

注意: pgpool-II-pgXX-extensionsPostgreSQLサーバ側にインストールするパッケージとなります。Pgpool-IIPostgreSQLをそれぞれ別のサーバにインストールしている場合は、pgpool-II-pgXX-extensionsPgpool-IIが稼働しているサーバにインストールする必要はありません。

dnf install pgpool-II-pg16-extensions pgpool-II-pg16
  

必要に応じて、開発者向けのオプションパッケージdebuginfoおよびdevelパッケージをインストールします。

dnf install pgpool-II-pg16-debuginfo pgpool-II-pg16-devel
  

2.10.3. Pgpool-IIの設定

すべてのPgpool-II設定ファイルは/etc/pgpool-IIにあります。 設定方法については項3.3を参照ください。

2.10.4. Pgpool-IIの起動と停止

RHEL7/8/9では、Pgpool-IIの自動起動を設定する場合、以下を実行してください。

systemctl enable pgpool.service
   

この後Pgpool-IIを起動するには、システム全体を再起動するか、以下を実行してください。 PostgreSQLサーバは、これよりも前に起動済みでなければならないことに注意してください。

systemctl start pgpool.service 
   

Pgpool-IIを停止するには、以下を実行してください。PostgreSQLを停止する場合、Pgpool-IIを先に停止する必要があります。

systemctl stop pgpool.service 
   

この後、PostgreSQLサーバを停止しても構いません。