【发布时间】:2019-01-16 11:11:28
【问题描述】:
我正在使用来自 RDS (AWS) 的 PostgreSQL 10。 所以请注意,我没有完全的权限来做任何我想做的事情。
在 PostgreSQL 中,我有一些用 PL/pgSQL 编写的函数。
根据我在这些功能中的经验,我无法启动/提交/回滚事务。在DO 块中,我也不能这样做。
正确吗?那么这背后的逻辑是什么......似乎PostgreSQL希望在现有事务的上下文中调用每个函数。正确的?
但是,如果我希望函数中的每个语句都在单独的(短)事务中执行,即具有类似 AUTOCOMMIT = ON 的行为,该怎么办?
我发现了一些可能可以做到这一点的扩展,但我不确定。 我不知道这是否相关。 https://www.postgresql.org/docs/10/ecpg-sql-set-autocommit.html
在 Postgres 中是否有无需下载和安装其他包/扩展的标准方法?
再次重申:我希望函数中的每个语句都在单独的(短)事务中执行,即具有类似于 AUTOCOMMIT = ON 的行为。
【问题讨论】:
标签: postgresql transactions stored-functions