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 错误 - 关系“[函数名称/视图/触发函数]”不存在的主要内容,如果未能解决你的问题,请参考以下文章

PgAdmin 错误:无法解密保存的密码

pgadmin 给我错误:没有提供密码

“ ImportError:安装pgAdmin4时无法导入名称'ImmutableDict'”错误

尝试运行 pgAdmin4 时出错

为啥我在 pgAdmin 4 上收到 schema public 的权限被拒绝错误?

PostgreSQL 管理工具之 pgAdmin