BDR/HAProxy server pool management
==================================

``tpaexec pool-disable-server`` および\ ``pool-enable-server``
コマンドを使用すると、 `BDR-Always-ON
cluster <architecture-BDR-Always-ON/>`__\ 内のPGDインスタンスをメンテナンスのためにHAProxyアクティブサーバープールから一時的に削除し、後で追加し直すことができます。

これらのコマンドは、デフォルトで\ `rolling
updates <tpaexec-upgrade/>`__\ と同じプロセスに従います。そのため、
``pool-disable-server``
はPGDインスタンスに対するアクティブなトランザクションが完了するまで待機し、
pgbouncerは完了する前に新しい接続を別のインスタンスに転送します。アクティブなセッションが終了するのを待ちたくない場合は、
``--nowait`` オプションを使用します。

インスタンスで\ ``pool-disable-server``
を実行した直後に\ ``pool-enable-server``
を実行すると、すべてのアクティブなトラフィックを別のインスタンスに移動する効果があります（本質的に、スイッチオーバー）。これにより、インスタンスの可用性を維持しながら、長時間実行されるVACUUMコマンドなどのオンラインメンテナンスタスクを実行できます。

同じ\ ``haproxy_backend_servers``
セットで構成されたHAProxyサーバーが複数ある場合、このコマンドは、指定されたサーバーを関連するすべてのプロキシのプールから並行して削除または追加します。

例
--

.. code:: bash

   $ tpaexec pool-disable-server ~/clusters/clockwork orange # --nowait

   #  HAProxy will no longer direct any traffic to the PGD instance named
   #  orange, so you can perform maintenance on it (e.g., run `tpaexec
   #  rehydrate`).

   $ tpaexec pool-enable-server ~/clusters/clockwork orange

サーバープールからインスタンスを削除すると、プール内の他のインスタンスに障害が発生した場合でも、HAProxyはトラフィックをそのインスタンスに転送しません。メンテナンスアクティビティが終了したら、サーバーをアクティブプールに戻すことを忘れないでください。
