Administering PGD Proxy
=======================

書き込みリーダーの切り替え
--------------------------

書き込みリーダーの切り替えは、書き込みリーダーであるノードを変更するために実行できる手動操作です。現在の書き込みリーダーノードでメンテナンスを実行する場合、または他の理由で書き込みリーダーを変更する場合に役立ちます。書き込みリーダーを変更する場合、\ ``strict``
と\ ``fast`` の2つのモードがあります。 ``strict``
モードでは、書き込みリーダーを切り替える前に遅延がチェックされます。スイッチオーバーを開始する前に、遅延が\ ``route_writer_max_lag``
未満になるまで待機します。これがデフォルトです。 ``fast``
モードでは、書き込みリーダーはすぐに切り替わります。
timeoutパラメーターを設定して、スイッチオーバーが完了するまで待機する時間を指定することもできます。

..  Note::
   スイッチオーバー動作は保証されていません。タイムアウトまたはその他の理由で、特定のターゲットノードへのスイッチオーバーが失敗した場合、PGDは別のノードを代わりに書き込みリーダーとして選択する場合があります。この他のノードには、現在の書き込みリーダーノードを含めることができます。スイッチオーバー操作が失敗した場合、 PGDは常に新しい書き込みリーダーを選択しようとします。 !!!

SQLを使用する
^^^^^^^^^^^^^

書き込みリーダーであるノードを別のノードに明示的に変更するスイッチオーバー操作を実行できます。

 :ref:`bdr.routing_leadership_transfer() <Routing functions>` ファンクションを使用します。

たとえば、書き込みリーダーをグループ\ ``group1`` のノード\ ``node1``
に切り替えるには、次のSQLコマンドを使用します。

edb_notranlate_0 このコマンドは、\ ``strict``
モードを使用して書き込みリーダーを切り替え、スイッチオーバーが完了するまで最大10秒待機します。これらはデフォルト設定であるため、省略できます。

.. code:: sql

   SELECT bdr.routing_leadership_transfer(group1, node1);

PGD CLIを使用する
^^^^^^^^^^^^^^^^^

 :ref:`スイッチオーバー <スイッチオーバー>` コマンドを使用して、スイッチオーバー操作を実行できます。

たとえば、書き込みリーダーをノード\ ``node1`` からグループ\ ``group1``
のノード\ ``node2`` に切り替えるには、次のコマンドを使用します。

.. code:: sh

   pgd switchover --node-group group1 --node-name node1 --method strict --timeout 10s

このコマンドは、\ ``strict``
モードを使用して書き込みリーダーを切り替え、スイッチオーバーが完了するまで最大10秒待機します。これらはデフォルト設定であるため、省略できます。

.. code:: sh

   pgd switchover --node-group group1 --node-name node1
