ERROR: CREATE DATABASE cannot run inside a transaction block SQL state: 25001 - Using PostgresSQL and pgAdmin 4
ERROR: CREATE DATABASE cannot run inside a transaction block SQL state: 25001 - Using PostgresSQL and pgAdmin 4
大家好,我在 Postgres 上的第一个数据库遇到了问题,我找不到解决方案,我试图查看是否是设置自动提交的问题,但显然来自 postgres 9.x 它是一个不确定的操作该文档表明这可能是权限错误或磁盘已满。
这是代码
CREATE DATABASE datacamp_courses
WITH
OWNER = postgres
ENCODING = 'UTF8'
LC_COLLATE = 'English_United States.1252'
LC_CTYPE = 'English_United States.1252'
TABLESPACE = pg_default
CONNECTION LIMIT = -1;
CREATE TABLE datacamp_courses (
course_id SERIAL PRIMARY KEY,
course_name VARCHAR (50) UNIQUE NOT NULL,
course_instructor VARCHAR (100) NOT NULL,
topic VARCHAR (2) NOT NULL
);
这是错误:
ERROR: CREATE DATABASE cannot run inside a transaction block
SQL state: 25001
如有任何帮助,我们将不胜感激
消息不言自明:您不能在事务中创建数据库。
您可以尝试 运行 您在 psql
(CLI) 中的语句,默认情况下在 AUTOCOMMIT 中使用 运行s:它会起作用,但请注意 table 会在当前数据库(默认为 postgres)中创建,这可能不是您想要的。如果你想在这个新数据库中创建一个数据库和一个 table 你可以尝试:
create database mydb;
\connect mydb
create table test(c int);
如果您在 Intellij idea 中使用数据库浏览器,select 您正在连接的数据库设置中的自动提交字段。
大家好,我在 Postgres 上的第一个数据库遇到了问题,我找不到解决方案,我试图查看是否是设置自动提交的问题,但显然来自 postgres 9.x 它是一个不确定的操作该文档表明这可能是权限错误或磁盘已满。 这是代码
CREATE DATABASE datacamp_courses
WITH
OWNER = postgres
ENCODING = 'UTF8'
LC_COLLATE = 'English_United States.1252'
LC_CTYPE = 'English_United States.1252'
TABLESPACE = pg_default
CONNECTION LIMIT = -1;
CREATE TABLE datacamp_courses (
course_id SERIAL PRIMARY KEY,
course_name VARCHAR (50) UNIQUE NOT NULL,
course_instructor VARCHAR (100) NOT NULL,
topic VARCHAR (2) NOT NULL
);
这是错误:
ERROR: CREATE DATABASE cannot run inside a transaction block
SQL state: 25001
如有任何帮助,我们将不胜感激
消息不言自明:您不能在事务中创建数据库。
您可以尝试 运行 您在 psql
(CLI) 中的语句,默认情况下在 AUTOCOMMIT 中使用 运行s:它会起作用,但请注意 table 会在当前数据库(默认为 postgres)中创建,这可能不是您想要的。如果你想在这个新数据库中创建一个数据库和一个 table 你可以尝试:
create database mydb;
\connect mydb
create table test(c int);
如果您在 Intellij idea 中使用数据库浏览器,select 您正在连接的数据库设置中的自动提交字段。