PostgreSQL 支援一種兩階段提交 (2PC) 協議,該協議允許多個分散式系統以事務方式協同工作。相關命令為 PREPARE TRANSACTION
、COMMIT PREPARED
和 ROLLBACK PREPARED
。兩階段事務旨在供外部事務管理系統使用。 PostgreSQL 遵循 X/Open XA 標準提出的特性和模型,但並未實現一些較少使用的方面。
當用戶執行 PREPARE TRANSACTION
時,唯一可能的後續命令是 COMMIT PREPARED
或 ROLLBACK PREPARED
。通常,準備好的狀態應持續非常短的時間,但外部可用性問題可能導致事務在此狀態下停留較長時間。短暫的兩階段事務僅儲存在共享記憶體和 WAL 中。跨越檢查點的事務會被記錄在 pg_twophase
目錄中。當前準備好的事務可以使用 pg_prepared_xacts
進行檢查。
如果您在文件中發現任何不正確、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用 此表單 報告文件問題。