4

我只是 pgAdmin 的新手,所以我真的不知道是什么导致了这些错误:

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

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

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

即使功能/视图存在于模式中。为什么它会给出这个错误?我应该怎么做才能解决它?

4

2 回答 2

14

请仔细注意错误消息:

ERROR: relation "ongoingprojects" does not exist

请注意,ongoingprojects当您的 SQL 谈论ongoingProjects. 您可能使用以下内容创建了表:

create table "ongoingProjects" ( ...

PostgreSQL 将所有标识符(表名,列名,...)折叠为小写,除非它们被双引号引起来。将表创建为"ongoingProjects"后,您必须在任何地方都用双引号括起来并完全匹配这种情况:

select * from "ongoingProjects";

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

create table ongoing_projects ( ...

这样您就不必担心报价。

这是手册相关部分的链接

于 2013-10-02T02:46:16.170 回答
0

对我来说,问题在于架构名称与数据库不同。

两种解决方案:

1)修改模式名称以匹配数据库名称

或者

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

于 2018-07-09T17:54:51.847 回答