首页 > 解决方案 > 如何强制 postgres 函数不在事务中

问题描述

plpgsql 函数是原子的吗?,我想知道是否可能相反。

我希望有两个连接(C1 和 C1)调用一个运行两个事务(T1 和 T2)的函数 (F)。我不在乎交易是否在两者都调用时交错(F)

<T1 on C1> 
<T1 on C2>
<T2 on C1> 
<T2 on C2>

这可以通过 Postgres 中的设置进行设置吗?

标签: postgresql

解决方案


函数始终在单个事务中运行。

一个数据库会话一次只能有一个打开的事务。但是,有子事务(独立于包含事务)和准备好的事务(未完成,但无法在其中完成任何工作)。


推荐阅读