repmgr
======

TPAは、 ``failover_manager`` インスタンス変数が\ ``repmgr``
に設定されているすべてのpostgresインスタンスにrepmgrをインストールします。これはデフォルト設定です。

``repmgr``
構成ファイルのディレクトリは、デフォルトで\ ``/etc/repmgr/<version>``
になります。ここで、 ``<version>``
は、このインスタンスにインストールされるpostgresのメジャーバージョンですが、インスタンスの\ ``repmgr_conf_dir``
変数を設定することにより変更できます。構成ファイル自分自身は常に\ ``repmgr.conf``
と呼ばれます。

デフォルトのrepmgr構成は、ロール ``primary`` とロール ``replica``
で構成されたインスタンス間の自動フェイルオーバーをセットアップします。

repmgrパッケージバージョン
--------------------------

デフォルトでは、TPAはrepmgrの最新バージョンをインストールします。

インストールされるrepmgrパッケージのバージョンは、 ``config.yml``
ファイルの\ ``cluster_vars``
セクションの下の\ ``repmgr_package_version: xxx``
を含めることにより指定できます。

.. code:: yaml

   cluster_vars:
       …
       repmgr_package_version: 4.0.5-1.pgdg90+1
       …

aptまたはyumが受け入れるバージョン指定子を使用できます。

バージョンが一致しない場合は、 ``*``
ワイルドカードを追加してみてください。これは、パッケージバージョンに\ ``2:...``
のようなエポック修飾子がある場合に必要になることがよくあります。

repmgr構成
----------

次のインスタンス変数を設定できます。

``repmgr_priority`` : sets ``priority`` in the config file
``repmgr_location`` : sets ``location`` in the config file
``repmgr_reconnect_attempts`` : sets ``reconnect_attempts`` in the
config file, default ``6`` ``repmgr_reconnect_interval`` : sets
``reconnect_interval`` in the config file, default ``10``
``repmgr_use_slots`` : sets ``use_replication_slots`` in the config
file, default ``1`` ``repmgr_failover`` 構成ファイルで\ ``failover``
を設定します、デフォルト\ ``automatic``

``repmgr_conf_settings`` の追加設定もrepmgr構成ファイルに渡されます。

PGDインスタンスの## repmgr

PGDインスタンスでは、\ ``repmgr_failover`` はデフォルトで\ ``manual``
に設定されます。
