Routing functions
=================

bdr.create_proxy
^^^^^^^^^^^^^^^^

プロキシ構成を作成します。

概要
^^^^

.. code:: sql

   bdr.create_proxy(proxy_name text, node_group text, proxy_mode text);

パラメーター
^^^^^^^^^^^^

.. csv-table::
  :header: Name,Type,Default,Description
  :widths: 15,12,12,20
  :align: left
  :class: longtable

  `proxy_name`,text,"",新しいプロキシの名前。
  `node_group`,text,"",プロキシが使用するグループの名前。
  `proxy_mode`,text,`'default'`,プロキシのモード。 `'default'` listen_port接続は書き込みリーダーに従い、read_listen_portなし `'read-only'` listen_portなし、read_listen_port接続は読み取り専用ノードに従います 、または`'any'` listen_port接続はwrite_leaderに従い、read_listen_port接続は読み取り専用ノードに従います。デフォルトは`'default'`です。

proxy_modeが\ ``'default'``
に設定されている場合、プロキシ構成のすべての読み取りオプションはNULLに設定されます。
``'read-only'``
に設定されている場合、プロキシ構成のすべての書き込みオプションはNULLに設定されます。
``'any'`` に設定すると、すべてのオプションがデフォルトに設定されます。

bdr.alter_proxy_option
^^^^^^^^^^^^^^^^^^^^^^

プロキシ構成を変更する

.. _概要-1:

概要
^^^^

.. code:: sql

   bdr.alter_proxy_option(proxy_name text, config_key text, config_value text);

.. _パラメーター-1:

パラメーター
^^^^^^^^^^^^

.. csv-table::
  :header: Name,Type,Default,Description
  :widths: 15,12,12,20
  :align: left
  :class: longtable

  `proxy_name`,text,"",変更するプロキシの名前。
  `config_key`,text,"",変更するプロキシのオプションのキー。
  `config_value`,text,"",指定されたキーに設定される新しい値。

次の表は、この機能を使用して変更できるプロキシオプション\ ``config_key``
を示しています。

.. csv-table::
  :header: Option,Description
  :widths: 10,30
  :align: left
  :class: longtable

  `listen_address`,リッスンするプロキシのアドレス。デフォルトは'{0.0.0.0}'です
  `listen_port`,リッスンするプロキシのポート。デフォルトは、'default'または'any'モードでは'6432'であり、ポートに続く書き込みリーダーを無効にする'read-only'モードでは'0'です。
  `max_client_conn`,プロキシが受け入れる接続の最大数。デフォルトは'32767'です。
  `max_server_conn`,プロキシがPostgresノードへの接続の最大数。デフォルトは'32767'です。
  `server_conn_timeout`,サーバー接続の接続タイムアウト。デフォルトは'2'秒です。
  `server_conn_keepalive`,サーバー接続のキープアライブ間隔。デフォルトは'10'秒です。
  `consensus_grace_period`,Raftリーダーを失ってもプロキシがルーティングを継続する期間。 0に設定すると、プロキシはルーティングをすぐに停止します。デフォルトは、通常、ローカルプロキシの場合は'6'秒、グローバルプロキシの場合は'12'秒です。 `raft_response_timeout`、`raft_global_election_timeout`、または`raft_group_election_timeout`がデフォルトから変更される場合、これらの値はオーバーライドされます。
  `read_listen_address`,リッスンする読み取り専用プロキシのアドレス。デフォルトは'{0.0.0.0}'です。
  `read_listen_port`,リッスンする読み取り専用プロキシのポート。デフォルトは、 'read-only'または 'any'モードでの'6433'と、読み取り専用ポートを無効にする'default'モードでの'0'です。
  `read_max_client_conn`,読み取り専用プロキシが受け入れる接続の最大数。デフォルトは'32767'です。
  `read_max_server_conn`,読み取り専用プロキシがPostgresノードへの接続の最大数。デフォルトは'32767'です。
  `read_server_conn_keepalive`,読み取り専用サーバー接続のキープアライブ間隔。デフォルトは'10'秒です。
  `read_server_conn_timeout`,読み取り専用サーバー接続の接続タイムアウト。デフォルトは'2'秒です。
  `read_consensus_grace_period`,Raftリーダーを失っても、読み取り専用プロキシがルーティングを継続する期間。デフォルトは1時間です。

これらの値を変更するには、プロキシの再起動が必要です。

bdr.drop_proxy
^^^^^^^^^^^^^^

プロキシ構成を削除します。

.. _概要-2:

概要
^^^^

.. code:: sql

   bdr.drop_proxy(proxy_name text);

.. _パラメーター-2:

パラメーター
^^^^^^^^^^^^

.. csv-table::
  :header: Name,Type,Default,Description
  :widths: 15,12,12,20
  :align: left
  :class: longtable

  `proxy_name`,text,"",ドロップするプロキシの名前。

bdr.routing_leadership_transfer
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

ルーティングリーダーを変更すると、ノードグループのリーダーシップが別のノードに転送されます。

.. _概要-3:

概要
^^^^

.. code:: sql

   bdr.routing_leadership_transfer(node_group_name text,
                 leader_name text,
                 transfer_method text DEFAULT strict,
                 transfer_timeout interval DEFAULT 10s);

.. _パラメーター-3:

パラメーター
^^^^^^^^^^^^

.. csv-table::
  :header: Name,Type,Default,Description
  :widths: 15,12,12,20
  :align: left
  :class: longtable

  `node_group_name`,text,"",リーダーシップの譲渡が要求されたグループの名前。
  `leader_name`,text,"",書き込みリーダーになるノードの名前。
  `transfer_method`,text,`'strict'`,転送の種類。 `'fast'`またはデフォルトの`'strict'`で、最大遅延をチェックします。
  `transfer_timeout`,interval,'10s',リーダーシップ転送のタイムアウト。デフォルトは10秒です。
