pgAdmin 错误 - 关系“[函数名称/视图/触发函数]”不存在
Posted
技术标签:
【中文标题】pgAdmin 错误 - 关系“[函数名称/视图/触发函数]”不存在【英文标题】:pgAdmin error - relation "[name of function/Views/Trigger Functions]" does not exist 【发布时间】:2013-10-02 01:58:45 【问题描述】:我只是 pgAdmin 的新手,所以我真的不知道是什么导致了这些错误:
ERROR: relation "ongoingprojects" does not exist
LINE 1: SELECT * FROM ongoingProjects;
^
********** Error **********
ERROR: relation "ongoingprojects" does not exist
SQL state: 42P01
Character: 15
即使模式中存在函数/视图。为什么它会给出这个错误?我应该怎么做才能解决它?
【问题讨论】:
【参考方案1】:注意错误信息:
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
【讨论】:
【参考方案2】:对我来说,问题在于架构名称与数据库不同。
两种解决方案:
1) 修改架构名称以匹配数据库名称
或
2) 在查询中添加模式名称的表,例如:SELECT * FROM my_schema.ongoingProjects;
【讨论】:
以上是关于pgAdmin 错误 - 关系“[函数名称/视图/触发函数]”不存在的主要内容,如果未能解决你的问题,请参考以下文章
“ ImportError:安装pgAdmin4时无法导入名称'ImmutableDict'”错误