pgpool_admは、参照II, PCP コマンド (実際には, pcp ライブラリ)にアクセスできるようにするための一連のエクステンションです。
Pgpool-II経由でも(1)、あるいは直接PostgreSQLに対しても(2)、関数を呼び出すことができます。 (1)の場合には、Pgpool-IIはユーザからクエリを受け付け(1)、PostgreSQLに転送します(3)。 PostgreSQLは、Pgpool-IIに接続し(5)、Pgpool-IIはPostgreSQLに(3)の結果を返します。 PostgreSQLはPgpool-IIに結果を返し(5)、Pgpool-IIはそのデータをユーザに転送します(6)。
(2)の場合には、PostgreSQLがクエリをユーザから受け付けます(2)。 PostgreSQLはPgpool-IIに接続し(5)、Pgpool-IIはPostgreSQLに(3)の結果を返します。 PostgreSQLはそのデータをユーザに返します(4)。
pgpool_adm関数の呼び出し形式は2種類あります。 最初の形式はPgpool-IIのホスト名(またはIPアドレス)、pcpポート番号、pcpユーザ名、パスワード、それ以外のパラメータです。
2番目の形式では、Pgpool-IIサーバ名が必要になります。 サーバ名はPostgreSQLの"CREATE FOREIGN SERVER"コマンドで定義済みでなければなりません。 pcpポート番号は9898に固定されています。 pcpユーザ名は、呼び出し元のPostgreSQLユーザ名と同じであると見なされます。 パスワードは$HOME/.pcppassから取得します。
pgpool_admはエクステンションであり、すべてのPostgreSQLサーバにインストールする必要があります。
$ cd src/sql/pgpool_adm $ make $ make install
次のSQLコマンドをアクセスしたいすべてのデータベースに発行します。
$ psql ... =# CREATE EXTENSION pgpool_adm