PostgreSQL 支持两阶段提交 (2PC) 协议,该协议允许多个分布式系统以事务方式协同工作。相关命令为 PREPARE TRANSACTION
、COMMIT PREPARED
和 ROLLBACK PREPARED
。两阶段事务旨在供外部事务管理系统使用。PostgreSQL 遵循 X/Open XA 标准提出的特性和模型,但未实现一些不太常用的方面。
当用户执行 PREPARE TRANSACTION
时,接下来唯一可能的命令是 COMMIT PREPARED
或 ROLLBACK PREPARED
。通常,此准备状态旨在持续很短的时间,但外部可用性问题可能意味着事务在此状态下停留较长时间。短暂的预备事务仅存储在共享内存和 WAL 中。跨越检查点的事务会记录在 pg_twophase
目录中。可以使用 pg_prepared_xacts
来检查当前已准备好的事务。
如果您在文档中发现任何不正确的内容、与特定功能的体验不符或需要进一步澄清的内容,请使用此表单来报告文档问题。