【问题标题】:pgAdmin error - relation "[name of function/Views/Trigger Functions]" does not existpgAdmin 错误 - 关系“[函数名称/视图/触发函数]”不存在
【发布时间】: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

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

【问题讨论】:

    标签: postgresql pgadmin


    【解决方案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;

      【讨论】:

        猜你喜欢
        • 2020-09-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-07
        相关资源
        最近更新 更多