gpt4 book ai didi

postgresql - 错误 : CREATE DATABASE cannot run inside a transaction block SQL state: 25001 - Using PostgresSQL and pgAdmin 4

转载 作者:行者123 更新时间:2023-12-05 05:05:27 30 4
gpt4 key购买 nike

大家好,我在 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 中运行:它会工作,但请注意,该表将在当前数据库中创建(默认情况下为 postgres)也许不是你想要的。如果你想在这个新数据库中创建一个数据库和一个表,你可以尝试:

  create database mydb;
\connect mydb
create table test(c int);

关于postgresql - 错误 : CREATE DATABASE cannot run inside a transaction block SQL state: 25001 - Using PostgresSQL and pgAdmin 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60528454/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com