Initializing PGD
================

シードノードがターゲットPostgresバージョンにアップグレードされたら、双方向レプリケーションBDR拡張機能をインストールし、クラスターを初期化してノードを分散環境に移行する必要があります。

PGDのインストールと構成
-----------------------

シードノードには、Postgresディストリビューションとバージョンたとえば、EPAS
17の\ ``edb-pgd6-expanded-epas17``
と特に一致するPGDパッケージが必要です。続行する前に、適切なPGDリポジトリを構成していることを確認してください。詳細は、
`Installing the database and pgd <https://www.enterprisedb.com/docs/pgd/latest/deploying/deploy-manual/03-installing-database-and-pgd/>`_ を参照してください。

1. BDR拡張機能を有効にするには、Postgres構成を更新してライブラリをプリロードし、シードノードでコミットタイムスタンプを有効にします。

.. code:: bash

       cat >> ${PGDATA}/postgresql.conf <<EOF
       shared_preload_libraries = bdr
       track_commit_timestamp = on
       EOF

1. Postgresを再起動してBDR拡張機能をロードします。

.. code:: bash

       su -u enterprisedb --command "pg_ctl restart"

PGDクラスターを初期化する
-------------------------

拡張機能がロードされると、レプリケートするデータベース内にBDR拡張機能を作成できます。

1. シードノードで、 BDR拡張機能を作成します。

.. code:: sql

       CREATE EXTENSION bdr;

1. BDRがロードされていることを検証し、バージョンを確認します。

.. code:: sql

       SELECT bdr.bdr_version();

1. シードノードをBDRノードとして定義し、クラスターを形成する初期ノードグループを確立します。

.. code:: sql

       SELECT bdr.create_node(
           node_name := ${SEED_NODE_PGD_NAME},
           dsn := ${SEED_NODE_DSN_DSN}
       );

1. ノードグループを作成します。

.. code:: sql

       SELECT bdr.create_node_group(
           node_group_name := ${PGD_CLUSTER_NAME}
       );

PGD CLIの構成
-------------

PGDコマンドラインインターフェイスCLIを使用して、クラスターを管理およびモニタします。
**all**
の現在および将来のPGDノードで、クラスター全体の接続エンドポイントをリストする構成ファイルを作成する必要があります。

.. code:: bash

   mkdir -p /etc/edb/pgd-cli
   cat <<EOF > tee /etc/edb/pgd-cli/pgd-cli-config.yml
   cluster:
     name: ${PGD_CLUSTER_NAME}
     endpoints:
       - ${SEED_NODE_DSN}
       - ${ADD_NODE_DSN}
          - ...
   EOF

PGDインストールの検証
---------------------

PGD
CLIを使用して、シングルノードセットアップが正常であり、CLIがクラスターと通信するように正しく構成されていることを確認します。シードノードで、次を実行します。

.. code:: bash

   pgd nodes list -- Expected to list exactly one node (itself).
   pgd cluster show --health -- Expected to show OK for all checks.

次のステップ :ref:`Joining additional PGD nodes <Joining additional PGD nodes>`  。
