我刚接触pgAdmin,所以我真的不知道导致这些错误的原因是什么:
ERROR: relation "ongoingprojects" does not exist
LINE 1: SELECT * FROM ongoingProjects;
^
********** Error **********
ERROR: relation "ongoingprojects" does not exist
SQL state: 42P01
Character: 15
即使模式中存在函数/视图。为什么会出错?我应该怎么做才能解决它?
答案 0 :(得分:12)
请注意错误消息:
ERROR: relation "ongoingprojects" does not exist
请注意,当您的SQL谈到ongoingprojects
时,它会抱怨ongoingProjects
。您可能使用以下内容创建了表:
create table "ongoingProjects" ( ...
PostgreSQL将所有标识符(表名,列名,......)折叠为小写,除非它们是双引号。一旦您将表格创建为"ongoingProjects"
,您就必须在任何地方引用该名称并完全符合该情况:
select * from "ongoingProjects";
PostgreSQL的通常做法是使用小写字母创建带有不带引号名称的表格,并使用下划线分隔单词:
create table ongoing_projects ( ...
这样你就不用担心引用了。
答案 1 :(得分:0)
对我来说,问题在于模式的名称与数据库的名称不同。
两种解决方案:
1)修改架构名称以匹配数据库名称
或
2)在查询中添加带有模式名称的表,例如:SELECT * FROM my_schema.ongoingProjects;