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

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

Create a proxy

Synopsis
^^^^^^^^

.. code:: sql

   bdr.create_proxy(proxy_name text, node_group text);

Parameters
^^^^^^^^^^

-  ``proxy_name`` — Name of the new proxy.

-  ``node_group`` — Name of the group to be used by the proxy.

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

Change a proxy

.. _synopsis-1:

Synopsis
^^^^^^^^

.. code:: sql

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

.. _parameters-1:

Parameters
^^^^^^^^^^

-  ``proxy_name`` — Name of the proxy to be changed.

-  ``config_key`` — Key of the option in the proxy to be changed.

-  ``config_value`` — New value to be set for the given key.

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

Drop a proxy

.. _synopsis-2:

Synopsis
^^^^^^^^

.. code:: sql

   bdr.drop_proxy(proxy_name text);

.. _parameters-2:

Parameters
^^^^^^^^^^

-  ``proxy_name`` — Name of the proxy to be dropped.

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

Changing the routing leader transfers the leadership of the node group
to another node

.. _synopsis-3:

Synopsis
^^^^^^^^

.. code:: sql

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

.. _parameters-3:

Parameters
^^^^^^^^^^

-  ``node_group_name`` — Name of group where the leadership transfer is
   requested.

-  ``leader_name`` — Name of node that will become write leader.

-  ``transfer_method`` — Type of the transfer, it can be “fast” or the
   default “strict” that checks the maximum lag.

-  ``transfer_timeout`` — Timeout of the leadership transfer, default is
   10 seconds.
