Có vẻ như bạn đang hơi bối rối. Nói chung các hệ thống cơ sở dữ liệu hỗ trợ hai khái niệm về các loại giao dịch phân tán:
- Các giao dịch được phân phối gốc và
- Giao dịch XA.
Các giao dịch phân tán gốc nói chung là giữa các máy chủ khác nhau của cùng một RDBMS. Postgres cũng hỗ trợ điều này bằng lệnh dblink_exec. Nói chung, kết nối đến máy chủ khác được tạo bởi một liên kết cơ sở dữ liệu được gọi là. Postgres hơi vụng về hơn để sử dụng sau đó một số RDBMS cấp thương mại khác. Trước tiên, bạn cần cài đặt một tiện ích mở rộng để có thể sử dụng các liên kết cơ sở dữ liệu. Tuy nhiên, postgres rdbms đang quản lý giao dịch.
Mặt khác, các giao dịch XA được quản lý bởi người quản lý giao dịch bên ngoài (TM) và mỗi cơ sở dữ liệu tham gia có vai trò của một tài nguyên XA, tài nguyên này sẽ sử dụng với người quản lý giao dịch. RDBMS không còn có thể tự quyết định thời điểm thực hiện một giao dịch. Đây là nhiệm vụ của người quản lý giao dịch XA. Anh ấy sử dụng giao thức 2PC để đảm bảo các thay đổi được áp dụng hoặc khôi phục lại một cách nhất quán trên các cơ sở dữ liệu.
Trên một số hệ điều hành như windows, trình quản lý giao dịch là một phần của hệ điều hành trên những hệ điều hành khác thì không. Nói chung java được vận chuyển với một trình quản lý giao dịch và nguồn dữ liệu tương ứng cần được định cấu hình để sử dụng XA.