postgresql:不能在事务块内运行
Posted
技术标签:
【中文标题】postgresql:不能在事务块内运行【英文标题】:postgresql: cannot run inside a transaction block 【发布时间】:2021-07-04 00:02:37 【问题描述】:我正在尝试在SQLbox
的phppgadmin
中一起运行这些命令
CREATE DATABASE "ir-staging";
CREATE USER django WITH ENCRYPTED PASSWORD 'django';
GRANT ALL PRIVILEGES ON DATABASE "ir-staging" TO django;
我明白了
SQL error:
ERROR: CREATE DATABASE cannot run inside a transaction block
In statement:
CREATE DATABASE "ir-staging";
CREATE USER django WITH ENCRYPTED PASSWORD 'django';
GRANT ALL PRIVILEGES ON DATABASE "ir-staging" TO django
如果我运行
CREATE DATABASE "ir-staging";
单独使用
【问题讨论】:
【参考方案1】:非常简单:
https://www.postgresql.org/docs/current/sql-createdatabase.html
CREATE DATABASE 不能在事务块内执行。
从外观上看,Sqlbox
在运行多个语句并触发错误时正在使用BEGIN;
启动事务。而对于单个事务,它以自动提交模式运行。查看文档以查看是否可以将自动提交指定为默认操作。或者更好的是使用psql
。
【讨论】:
以上是关于postgresql:不能在事务块内运行的主要内容,如果未能解决你的问题,请参考以下文章
不能在 Entity Framework 6.1.3 和 PostgreSQL 中使用打开的事务