繁体   English   中英

如何在触发器中检测预备事务

[英]How to detect a Prepared Transaction inside a trigger

我现有的数据库代码(触发器)有问题,这些代码调用使用NOTIFY命令的函数触发器,这在准备好的事务的上下文中不受支持。

我的问题很简单:从函数触发器中,有没有一种方法可以检测到我们处于准备好的事务中?

提前致谢。

有没有办法来检测使用准备好的事务和两阶段提交,目前的交易将被提交,因为你没有PREPARE尚未d交易; 事务不知道它将执行两阶段提交,直到触发器运行之后。 PostgreSQL不需要您开始进行BEGIN TRANSACTION FOR TWO PHASE COMMIT (虚构语法)或类似的BEGIN TRANSACTION FOR TWO PHASE COMMIT

您可以在pg_settings测试max_prepared_transactions > 0来查看是否启用了准备好的事务,但是直到发生2PC之前,您无法知道是否将使用2PC。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM