DDL replication options
=======================

 :ref:`bdr.ddl_replication <bdr.ddl_replication>` パラメーターは、レプリケーション動作を指定します。

``bdr.ddl_replication = all`` はデフォルトであり、
DDLをデフォルトのレプリケーションセットにレプリケートします。デフォルトでは、すべてのノードを意味します。デフォルト以外のレプリケーションセットは、
 :ref:`DDL filter <Replication sets>` がない限りDDLをレプリケートしません

彼らのために定義されました。

ファンクション :ref:`bdr.replicate_ddl_command() <System functions>`  を使用して、
DDLを特定のレプリケーションセットにレプリケートすることもできます。これは、ノードがダウンしているときにDDLコマンドを実行する場合、またはサイト1のすべてのノードなど、ノードまたは担当セットのサブセットに存在するインデックスまたはパーティションを必要とする場合に役立ちます。

::

   SELECT bdr.replicate_ddl_command(
                   CREATE INDEX CONCURRENTLY ON foo (col7);,
                   ARRAY[site1],     -- the replication sets
                   all);              -- ddl_locking to apply

お勧めしませんが、
 :ref:`bdr.ddl_replication <bdr.ddl_replication>` 構成パラメーターを使用して、自動DDLレプリケーションをスキップし、各ノードで手動で実行できます。

::

   SET bdr.ddl_replication = off;

設定すると、PGDは実行されたDDLコマンドのグローバルロックとレプリケーションの両方をスキップします。次に、すべてのノードでDDLを手動で実行する必要があります。

..  Warning::
   グローバルロックを使用せずに各ノードでDDLを手動で実行すると、競合するDDLまたはDMLが同時に実行される場合、PGDグループ全体のレプリケートが停止される場合があります。

``bdr.ddl_replication`` パラメーターは、
bdr_superuser、スーパーユーザー、または\ ``postgres.conf``
構成ファイルでのみ設定できます。
