1.2. はじめてのレプリケーション

この節では、Pgpool-IIを使って、もっとも一般的な設定の一つである、PostgreSQLクラスタをストリーミングレプリケーション構成で管理する方法を説明します。

先に進む前に、ストリーミングレプリケーションモードでpgpool.confを設定しましょう。 Pgpool-IIでは設定のサンプルが用意されています。 これらの設定ファイルはデフォルトのソースコードからのインストールでは/usr/local/etcに配置されています。 pgpool.conf.sample-streampgpool.confとしてコピーします。

    cp /usr/local/etc/pgpool.conf.sample-stream pgpool.conf
   

pgpool_setupを使うということであれば、次のようにタイプして下さい。

    pgpool_setup
   

これにより、ストリーミングレプリケーション設定のPgpool-IIPostgreSQLプライマリサーバのインストール、それにPostgreSQLの非同期スタンバイのインストールが行われます。 pgpool_setupでは、pgpool.confの設定も自動で行われます。

ここからは、pgpool_setupを使ってカレントディレクトリ以下にインストールを行うことを前提とします。

システム全体を起動するには、次のようにタイプして下さい。

    ./startall
   

システムが起動すれば、任意のデータベースに擬似SQLコマンドの"show pool_nodes"を発行して、クラスタの状態を確認することができます。 pgpool_setupは、自動的に"test"データベースを作ります。 このデータベースを使います。 pgpool_setupにより、Pgpool-IIにデフォルトポート番号として11000がアサインされていることに注意してください。

    $ psql -p 11000 -c "show pool_nodes" test
    node_id | hostname | port  | status | lb_weight |  role   | select_cnt | load_balance_node | replication_delay | last_status_change
    ---------+----------+-------+--------+-----------+---------+------------+-------------------+-------------------+---------------------
    0       | /tmp     | 11002 | up     | 0.500000  | primary | 0          | false             | 0                 | 2019-01-31 10:23:09
    1       | /tmp     | 11003 | up     | 0.500000  | standby | 0          | true              | 0                 | 2019-01-31 10:23:09
    (2 rows)
   

この結果は、"status"カラムが"up"であることを示しています。 これは、PostgreSQLが稼働中で、問題ないということです。