少し混乱しているようです。一般に、データベースシステムは、分散トランザクションタイプの2つの概念をサポートしています。
- ネイティブ分散トランザクションと
- XAトランザクション。
ネイティブ分散トランザクションは通常、同じRDBMSの異なるサーバー間で行われます。 Postgresはdblink_execコマンドでもこれをサポートしています。通常、他のサーバーへの接続は、いわゆるデータベースリンクによって作成されます。 Postgresは、他の商用グレードのRDBMSよりも使用するのが少し不器用です。データベースリンクを使用できるようにするには、最初に拡張機能をインストールする必要があります。ただし、postgresrdbmsがトランザクションを管理しています。
一方、XAトランザクションは、外部トランザクションマネージャー(TM)によって管理され、参加している各データベースには、トランザクションマネージャーに参加するXAリソースの役割があります。 RDBMSは、トランザクションをいつコミットするかを自分で決定できなくなりました。これはXAトランザクションマネージャーのタスクです。彼は2PCプロトコルを使用して、変更がデータベース全体で一貫した方法で適用またはロールバックされていることを確認します。
Windowsなどの一部のOSでは、トランザクションマネージャーは他のOSのオペレーティングシステムの一部ではありません。通常、Javaにはトランザクションマネージャーが付属しており、対応するデータソースはXAを使用するように構成する必要があります。