支援的版本:目前 (17) / 16
開發版本:devel

66.4. 兩階段交易 #

PostgreSQL 支援兩階段提交 (2PC) 協定,允許多個分散式系統以交易方式協同工作。指令包括 PREPARE TRANSACTIONCOMMIT PREPAREDROLLBACK PREPARED。兩階段交易旨在供外部交易管理系統使用。PostgreSQL 遵循 X/Open XA 標準提出的特性和模型,但未實作某些較少使用的方面。

當使用者執行 PREPARE TRANSACTION 時,唯一可能的後續指令是 COMMIT PREPAREDROLLBACK PREPARED。一般而言,此預備狀態的持續時間應該非常短,但外部可用性問題可能意味著交易在此狀態下停留較長時間。生命週期短暫的預備交易僅儲存在共享記憶體和 WAL 中。跨越檢查點的交易會記錄在 pg_twophase 目錄中。可以使用 pg_prepared_xacts 檢查目前已準備好的交易。

提交更正

如果您在文件中發現任何不正確、與您使用特定功能的經驗不符或需要進一步澄清的地方,請使用此表格來報告文件問題。