【问题标题】:postgresql: cannot run inside a transaction blockpostgresql:不能在事务块内运行
【发布时间】:2021-07-04 00:02:37
【问题描述】:

我正在尝试在SQLboxphppgadmin 中一起运行这些命令

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";

单独使用

【问题讨论】:

    标签: postgresql


    【解决方案1】:

    非常简单:

    https://www.postgresql.org/docs/current/sql-createdatabase.html

    CREATE DATABASE 不能在事务块内执行。

    从外观上看,Sqlbox 在运行多个语句并触发错误时正在使用BEGIN; 启动事务。而对于单个事务,它以自动提交模式运行。查看文档以查看是否可以将自动提交指定为默认操作。或者更好的是使用psql

    【讨论】:

      猜你喜欢
      • 2017-12-11
      • 2014-12-16
      • 1970-01-01
      • 1970-01-01
      • 2021-05-31
      • 2019-04-08
      • 2020-12-03
      • 2021-10-21
      • 2010-11-04
      相关资源
      最近更新 更多