【问题标题】:PostgreSQL SQL import fails with error as schema not foundPostgreSQL SQL 导入失败并出现错误,因为找不到架构
【发布时间】:2014-02-24 09:20:58
【问题描述】:

我正在尝试通过 PGAdmin3 将 SQL 文件作为数据库的一部分导入,但由于未找到架构而出现错误。但是当我尝试选择命名空间时,它会列出该架构。
下面是数据库的输出

test=# select nspname from pg_catalog.pg_namespace;
      nspname
--------------------
 pg_catalog
 pg_toast
 public
 pg_temp_1
 pg_toast_temp_1
 information_schema
 testschema
(7 rows)

下面是我试图从脚本运行的 sql 命令

CREATE TABLE TestSchema.Emp (
                lastname VARCHAR(50) NOT NULL,
                firstname VARCHAR(10) NOT NULL,
                empid INTEGER PRIMARY KEY
};

ERROR:  schema "testschema" does not exist
********** Error **********

ERROR: schema "testschema" does not exist
SQL state: 3F000

任何想法为什么会出现这个错误。

【问题讨论】:

  • 您确定两次查看的是同一个数据库吗?
  • 当 pgadmin3 启动时,它会询问我提供的数据库。但我不知道它是否使用“”作为数据库名称,因为我有另一个使用带引号的字符串创建的数据库。

标签: sql postgresql


【解决方案1】:

你有一个错字:

CREATE TABLE TestSchema.Emp (
                lastname VARCHAR(50) NOT NULL,
                firstname VARCHAR(10) NOT NULL,
                empid INTEGER PRIMARY KEY
}; -- Put ) instead of } 

一般情况下是不行的

【讨论】:

  • 我不好,我会修复相同的问题并再次查看,因为我正在学习 PG 编程,但后来没有太多时间研究这个问题。
【解决方案2】:

尝试替换:

CREATE TABLE TestSchema.Emp (

由

CREATE TABLE testschema.Emp (

【讨论】:

  • 不,如果标识符没有被引用,Postgres 不区分大小写。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-16
  • 2023-03-24
  • 1970-01-01
  • 2011-03-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多