Pgpool-II 4.5.5 文書 | |||
---|---|---|---|
前のページ | 上に戻る | 第 3章サーバの準備と運用 | 次のページ |
Pgpool-IIを起動するには、以下を実行してください。
$ pgpool -f /usr/local/etc/pgpool.conf -F /usr/local/etc/pcp.conf
これにより、サーバがバックグラウンドモードで起動します。 "-f"はpgpoolの主設定ファイルへのパスを指定します。 "-F"はPgpool-IIの管理サーバであるpcpサーバの設定ファイルへのパスを指定します。 他のオプションに関しては、pgpoolのマニュアルを見てください。
Pgpool-IIを起動する前に、PostgreSQLを起動しなければなりません。 なぜなら、もしPostgreSQLが起動していなければ、Pgpool-IIはフェイルオーバの処理を起動し、PostgreSQLをダウン状態にしてしまうからです。
たとえばPgpool-IIとPostgreSQLが別のサーバにインストールされているような理由でPostgreSQLの起動順序を制御するのが難しい場合は、search_primary_node_timeoutを長めにし(デフォルトは5分です)、Pgpool-IIが、search_primary_node_timeoutが終了するまでPostgreSQLの起動を待つようにすることができます。 PostgreSQLが、search_primary_node_timeoutが完了するまでの間に起動すれば問題ありません。 もしPostgreSQLが起動する前にsearch_primary_node_timeoutが完了すると、プライマリノードが検出されず、DML/DDLを実行できなくなります。 こうなったら、Pgpool-IIを再起動する必要があります。 プライマリノードが存在するかどうかを確認するには、SHOW POOL_NODESコマンドを使ってください。
search_primary_node_timeoutはストリーミングレプリケーションモードでのみ使用できることに注意してください。 そのパラメータはストリーミングレプリケーションモードにしかないからです。 ストリーミングレプリケーションモードの詳細は項3.3.2をご覧ください。 他のモードでは、ヘルスチェック(項5.9参照)のパラメータを調整し、PostgreSQLが使えるようになるまでに十分時間が取れるようにしてください。
Pgpool-IIが起動するまでにPostgreSQLが使えないことをヘルスチェックが検出すると、PostgreSQLのいくつかが「down」状態であると認識されます。 この場合は手動でpcp_attach_nodeコマンドを使ってPostgreSQLサーバを「up」状態にしなければなりません。 クライアントがPostgreSQLが利用可能になる前にPgpool-IIに接続しようとすると、フェイルオーバが起こることがあります。 この場合もpcp_attach_nodeコマンドを使ってPostgreSQLサーバを「up」状態にしなければなりません。