pgAdmin错误 - 关系“[函数名称/视图/触发函数]”不存在

时间:2013-10-02 01:58:46

标签: postgresql pgadmin

我刚接触pgAdmin,所以我真的不知道导致这些错误的原因是什么:

ERROR:  relation "ongoingprojects" does not exist
LINE 1: SELECT * FROM ongoingProjects;
                      ^

********** Error **********

ERROR: relation "ongoingprojects" does not exist
SQL state: 42P01
Character: 15

即使模式中存在函数/视图。为什么会出错?我应该怎么做才能解决它?

2 个答案:

答案 0 :(得分:12)

请注意错误消息:

ERROR: relation "ongoingprojects" does not exist

请注意,当您的SQL谈到ongoingprojects时,它会抱怨ongoingProjects。您可能使用以下内容创建了表:

create table "ongoingProjects" ( ...

PostgreSQL将所有标识符(表名,列名,......)折叠为小写,除非它们是双引号。一旦您将表格创建为"ongoingProjects",您就必须在任何地方引用该名称并完全符合该情况:

select * from "ongoingProjects";

PostgreSQL的通常做法是使用小写字母创建带有不带引号名称的表格,并使用下划线分隔单词:

create table ongoing_projects ( ...

这样你就不用担心引用了。

Here is the link to the relevant part of the manual

答案 1 :(得分:0)

对我来说,问题在于模式的名称与数据库的名称不同。

两种解决方案:

1)修改架构名称以匹配数据库名称

2)在查询中添加带有模式名称的表,例如:SELECT * FROM my_schema.ongoingProjects;