PostgreSQL 18 中文参考文档(未翻译部分保留英文)🌐 切换到英文原版 →

47.10. 两阶段提交支持 #

在基础输出插件配置中,PREPARE TRANSACTION 会被直接忽略,待后续遇到 COMMIT PREPARED 时才解码为普通提交,遇到 ROLLBACK PREPARED 时解码为回滚。

若输出插件实现了两阶段提交专属回调集合(begin_prepare_cb、prepare_cb、commit_prepared_cb、rollback_prepared_cb 以及可选的 filter_prepare_cb),系统将在事务执行 PREPARE TRANSACTION 时率先将其所有变更解码并调用 prepare_cb 预备固化;待后续执行提交或回滚时,再分别调用 commit_prepared_cb 或 rollback_prepared_cb,完美适配分布式两阶段逻辑复制方案。