Configuring EFM
===============

``failover_manager`` が\ ``efm``
に設定されている場合、TPAはEFMをインストールして構成します。

EFMはEDBのパッケージリポジトリを介してのみ利用可能であり、有効なサブスクリプションが必要であることに注意してください。

EFM構成
-------

TPAは、適切なインスタンス固有の設定で\ ``efm.nodes``
および\ ``efm.properties``
を生成し、残りの設定はそれぞれのデフォルト値に設定します。
TPAはまた、基本的にデフォルトでは何も含まない\ ``efm.notification.sh``
スクリプトを配置し、ユーザーが自由に入力できるようにします。

 :ref:`EFM documentation <Configuring EFM>` を参照

EFM構成の詳細については。

efm_conf_settings
-----------------

``efm_conf_settings``
を使用して、TPAで認識されるかどうかに関係なく、パラメーターを設定できます。必要に応じて、\ ``efm.properties``
に表示されるとおりに値を引用する必要があります。

.. code:: yaml

   cluster_vars:
     efm_conf_settings:
        standby.restart.delay: 1
        application.name: quarry
        reconfigure.num.sync: true
        reconfigure.num.sync.max: 1
        reconfigure.sync.primary: true

``efm_conf_settings``
の下の値を変更すると、TPAは常にEFMを再起動して変更をアクティブにします。

EFM証人
^^^^^^^

TPAは、\ ``role`` に\ ``efm-witness``
が含まれるインスタンスにEFMをwitnessとしてインストールおよび構成します。

Repmgr
^^^^^^

EFMはフェールオーバーマネージャーとして機能するため、TPAは引き続きrepmgrをインストールして、postgresバージョン11以下でpostgresqlレプリカを設定します。
``repmgrd`` つまり
この場合、repmgrのデーモンは無効のままであり、repmgrの唯一の仕事はレプリケーションセットアップ機能を提供することです。

postgresバージョン12以降の場合、EFMを使用するクラスターは\ ``pg_basebackup``
を使用してスタンバイノードを作成し、どのような形式でもrepmgrを使用しません。
