【问题标题】:postgreSql “relation does not exist” even though in phpPgAdmin works即使在 phpPgAdmin 中工作,postgreSql “关系不存在”
【发布时间】:2017-01-28 09:50:10
【问题描述】:

您好,我有一个包含 12 个表的数据库。我可以从其中的 11 个中选择所有内容,但对第 12 个使用相同的查询不起作用。但是,如果我尝试从 phpPgAdmin 进行该查询,那么它可以工作。例如我有这个查询:

SELECT 
  "public"."products"."grupi",
  "public"."products"."kodartikulli",
  "public"."products"."kodifikimartikulli2",
  "public"."products"."pershkrimartikulli",
  "public"."cmime"."cmimi" 
FROM "public"."products" 
INNER JOIN "public"."cmime" ON ("public"."products"."kodartikulli"="public"."cmime"."idprodukti") 
WHERE "public"."products"."kodartikulli" = 'AS00008'

这在 phpPgAdmin 上完美运行,但是当我从我的应用程序中尝试它时,它说:

error: relation "public.cmime" does not exist

此外,所有表都具有相同的权限。有没有人遇到过这个问题? 谢谢你

【问题讨论】:

  • 你可以试试SELECT * FROM public.cmime LIMIT 1 看看你会得到什么吗?你也可以试试SELECT * FROM cmime LIMIT 1,看看有什么不同。
  • 再次出现同样的错误。错误:关系“cmime”不存在
  • 您是否有任何简单的方法来检查 phpPGAdmin 是否实际上连接到同一个数据库以及相同的用户角色和凭据?

标签: sql node.js postgresql phppgadmin


【解决方案1】:

您似乎使用不同的用户来连接数据库。您可以使用下面的查询来获取所有表和所有者信息的列表:

SELECT *
FROM pg_tables t
WHERE t.tableowner = current_user;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    相关资源
    最近更新 更多