postgresql - 如何强制 postgres 函数不在事务中
问题描述
继plpgsql 函数是原子的吗?,我想知道是否可能相反。
我希望有两个连接(C1 和 C1)调用一个运行两个事务(T1 和 T2)的函数 (F)。我不在乎交易是否在两者都调用时交错(F)
<T1 on C1>
<T1 on C2>
<T2 on C1>
<T2 on C2>
这可以通过 Postgres 中的设置进行设置吗?
解决方案
函数始终在单个事务中运行。
一个数据库会话一次只能有一个打开的事务。但是,有子事务(不独立于包含事务)和准备好的事务(未完成,但无法在其中完成任何工作)。
推荐阅读
- r - 通过涉及条件的 mutate 添加新列
- sql - 检查BIMC表中是否存在列,SAP HANA
- twilio - 使用 Laravel 的任务路由器问题。任务未创建?
- php - 为什么 blockquote 标签在 PHP 循环中不起作用?
- javascript - 比较相同 Async/Await 函数的两种构造
- twilio-api - 通过 JWT 使用 QR 字符串生成的 QR 码无效
- django - 没有任何内容写入 Nginx access.log/error.log - 如何进行故障排除?
- java - 如何修复 CountDownTimer 在 android 应用程序中的错误
- r - 有没有办法根据文本进行过滤?
- javascript - 如果基于特定字段不存在,MongoDB 将项目添加到文档数组