Compatibility changes
=====================

PGD 5の変更の多くは、PGD 4またはPGD 3.7との下位互換性がありません。

接続ルーティング
----------------

HARP
Managerはもう存在しません。これは、新しい :ref:`接続管理 <接続管理>` 構成に置き換えられました。

HARPプロキシは、同様に機能するPGDプロキシに置き換えられます。これは、非推奨の機能を削除し、接続管理構成を介して構成されます。

Commit At Most Once
-------------------

CAMO構成は、 :ref:`コミットスコープ <コミットスコープ>` を介して実行されるようになりました。
``bdr.camo_pairs``
カタログおよび関連する操作ファンクションは、もう存在しません。
``bdr.enable_camo`` GUCは削除されました。
``synchronous_replication_availability``
GUCはCAMOに影響を与えなくなりました。コミットスコープの\ ``DEGRADE ON ... TO ASYNC``
句を使用します。

Eager All-Node Replication
--------------------------

``global`` スコープは存在しません。同じ動作のスコープを作成するには、
 :ref:`グループコミット <グループコミット>`  を使用します。

.. code:: sql

   SELECT bdr.add_commit_scope(
       commit_scope_name := eager_scope,
       origin_node_group := top_group,
       rule := ALL (top_group) GROUP COMMIT (conflict_resolution = eager, commit_decision = raft) ABORT ON (timeout = 60s),
       wait_for_ready := true
   );

``bdr.global_commit_timeout``
GUCは削除されました。コミットスコープには\ ``ABORT ON`` 句を使用します。

遅延制御
--------

CAMOやEagerと同様に、Lag
Control構成も :ref:`コミットスコープ <コミットスコープ>` に移動して、より柔軟な耐久性構成を実現します。

カタログ
--------

-  ``bdr.workers`` は、 ``worker_commit_timestamp``
   のようなワーカー固有の情報を表示しなくなりました。

-  ``bdr.worker_errors`` は非推奨であり、情報のほとんどが失われます。

-  ``bdr.state_journal_details``
   は非推奨であり、情報のほとんどが失われます。

-  ``bdr.event_summary`` は、 ``bdr.worker_errors``
   および\ ``bdr.state_journal_details``
   をRaftロールの変更などの追加情報に置き換えます。

-  テーブル\ ``bdr.node_catchup_info``
   に、よりわかりやすい方法で情報を表示するユーザーコンシューマブルビュー\ ``bdr.node_catchup_info_details``
   があります。

-  Witnessノードは、レプリケートするレプリケーションセットではなく、
   ``bdr.node_summary`` の\ ``node_kind`` 値を使用して区別されます。

-  すべてのRaftコンセンサス関連のテーブルとファンクションは、マルチプルのRaftインスタンスサブグループRaftをサポートするように調整されました。

-  情報がテーブルに保存されなくなったため、 ``bdr.node_pre_commit``
   ビューと基になるテーブルが削除されました。

-  ``bdr.commit_decisions`` ビューが追加され、 ``bdr.node_pre_commit``
   ビューが置き換えられました。

-  その背後にあるメカニズムが一般化されたため、複数の内部自動パーティションテーブルがtascmgrテーブルに置き換えられました。

-  ``bdr.network_monitoring``
   ビューは、基になるテーブルおよびファンクションとともに削除されました。

-  :ref:`カタログ <カタログ>` で説明しているように、多くのカタログが追加され、一部には新しい列があります。これらは厳密には破壊的な変更ではありませんが、アップグレードの際に確認することをお勧めします。
