Supported technologies
======================

LiveCompareは、 PostgreSQL、 EDB Postgres
DistributedPGD、以前はBDRとして知られていた、Oracleを含むテクノロジーのリストに接続してデータを比較できます。

LiveCompareには3種類の接続があります。

- **Initial** オプション
  pglogicalまたはPGD接続に関するメタデータを取得するために使用されます。データ接続がpglogicalまたはPGDの場合、および\ ``replication_sets``
  または\ ``node_name`` 設定を使用する場合に必要です。
  ``logical_replication_mode = pglogical``
  または\ ``logical_replication_mode = bdr`` が必要です。
  pglogicalまたはPGD対応のデータベースが必要です。

- **データ**
  データ比較を実行するためにツールが接続する実際のデータベース接続。リストの最初の接続は、\ ``Table Filter``
  および\ ``Row Filter``
  を解決するために使用され、\ ``Initial Connection``
  とともに使用され、PGDノードに関する情報を収集します。
  ``logical_replication_mode = bdr`` および\ ``all_bdr_nodes = on``
  の場合、LiveCompareは、\ ``Initial Connection``
  と同じPGDクラスターの一部であるすべてのPGDノードを検討します。この場合、データ接続を個別に定義する必要はありません。比較とコンセンサス決定は行ごとに機能するため、この修正はすべてのデータ接続に適用できる可能性があります。

- **出力** 必須 LiveCompareは、\ ``livecompare``
  というスキーマ、いくつかのテーブル、およびビューを作成します。これは、比較セッションに関する進行状況とレポートデータを維持するために必要です。
  PostgreSQLまたは2ndQPostgres接続である必要があります。

この表には、サポートされているテクノロジーのバージョンと詳細、およびLiveCompareでそれらを使用できるコンテキストが示されています。

.. csv-table::
  :header: Technology,Versions,Possible connections
  :widths: 12,25,15
  :align: left
  :class: longtable

  PostgreSQL,"10¹, 11¹, 12¹, 13, 14, 15, 16 and 17",Data and output
  EDB Postgres Extended (PGE),"10¹, 11¹, 12¹, 13, 14, 15, 16 and 17",Data and output
  EDB Postgres Advanced Server (EPAS),"11¹, 12¹, 13, 14, 15, 16 and 17",Data and output
  pglogical,2 and 3,"Initial, data, and output"
  EDB Postgres Distributed (PGD),"1, 2, 3, 4, and 5","Initial, data, and output"
  Oracle,"11g, 12c, 18c, 19c, and 21c",A single data connection

¹
LiveCompareは、Postgresの新しいサポートバージョンへのメジャーバージョンのアップグレードの実行をサポートしてサポートが終了したPostgresの古いバージョンPostgreSQL、
EDB Postgres Extended、またはEDB Postgres Advanced
ServerでのLiveCompareの使用のみをサポートしています。

..  Note::
   EDBは、Oracle 10gでのLiveCompareのテストを行わなくなりました。そのため、LiveCompareで公式にサポートされているOracleバージョンのリストには含まれません。 Oracle 10gは以前にサポートされており、ほとんどの場合で引き続き動作すると予想されます。ただし、一部の制限が存在する場合があります。 1つの既知の制限は、LiveCompareでは `comparison_algorithm` パラメーターを`full_row`  `comparison_algorithm = full_row` などに設定する必要があることです。

PgBouncerのサポート
-------------------

PgBouncerを介してノードに対してLiveCompareを使用できます。ただし、
LiveCompareはPostgreSQLでプリペアドステートメントを使用するため、
``pool_mode=session`` を使用する必要があります。これは、 ``pool_mode``
が\ ``transaction`` または\ ``statement`` の場合は不可能です。
