postgres不断给出“模式不存在”错误[重复]

Posted

技术标签:

【中文标题】postgres不断给出“模式不存在”错误[重复]【英文标题】:postgres constantly gives "schema does not exist" errors [duplicate] 【发布时间】:2017-10-19 05:07:25 【问题描述】:

我设法在 FOO 模式中创建了一个表。

每当我尝试做任何事情时,即使是基本的选择,我都会得到:

ERROR: schema "FOO" does not exist
SQL state: 3F000
Character: 15

我在创建的编辑窗口中运行选择(使用 pgAdmin4)。当我尝试创建视图调用 FOO.Info 时,我得到了同样的错误。然而,当我尝试在 FOO 中创建一个新表时,它可以工作。

发生了什么事?我使用相同的语法将选择中的表称为创建。

# worked fine
CREATE TABLE "FOO"."Events"
(
...

# all these have the error
select * from "FOO"."Events";
select * from FOO.Events;
select * from Foo.Events;
postgres=# \dn
  List of schemas
  Name  |  Owner   
--------+----------
 foo    | postgres
 public | postgres
(2 rows)

【问题讨论】:

edit你的问题并添加create schema语句和产生错误的语句。 @a_horse_with_no_name 我使用 GUI 工具创建了模式。我添加了有效的 CREATE 语句,然后添加了无效的 select 语句。 select * from "FOO"."Events"; 应该可以工作 - 如果你在创建时使用双引号,你应该在所有操作中进一步使用它们 @VaoTsun 它应该,但它没有。 psql\dn把结果放到帖子里 【参考方案1】:

我相信你把它创建为

create schema FOO;

创建模式“foo”,而不是“FOO”

然后您将其引用为

select * from "FOO".table_name

所以没找到

【讨论】:

没有我尝试过所有大小写组合,正如我所说,当我以完全相同的方式在“创建表”语句中引用架构时,它可以工作。 啊。凉爽的。所以请把有错误的工作和不工作声明放到原始帖子中?..

以上是关于postgres不断给出“模式不存在”错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章

SQL - Postgres 字符串 agg 给出重复项

Postgres - 删除连接,使用给出错误

从 postgres 表中提取 json 数组给出错误:无法从标量中提取元素

带有程序代码的 Postgres 语句中的语法错误 [重复]

Postgres - 在函数之外声明变量[重复]

Postgres 错误 - 捆绑安装