0

我有一个名为georeferenciacion_uno的架构,在该架构上我有例如这个表geo_dominio

使用 eclipse 我可以毫无问题地连接我的数据库,但我无法进行像“select * from geo_dominio”这样的简单查询,因为我总是得到下一个答案:

org.postgresql.util.PSQLException:错误:关系“geo_dominio”不存在

我尝试了所有这些句子:

  • “从 geo_dominio 中选择 *”
  • “从 GEO_DOMINIO 中选择 *”
  • "从\"geo_dominio\"中选择*
  • "从\"GEO_DOMINIO\"中选择*
  • "select * from georeferenciacion_uno.geo_dominio" ---> 但在这里我得到了答案:org.postgresql.util.PSQLException: ERROR: schema "georeferenciacion_uno" 不存在

然后我决定直接在 pgAdmin 上进行查询,得到下一个结果:

错误:模式“georeferenciacion_uno”不存在

然后我意识到错误不在我的 Eclipse 脚本上。我在做坏事,但我仍然不知道它是什么。

我无法更改数据库或表名,因为它们从几年前就开始工作了......

我已经在这里寻找该问题的解决方案,但人们发现他们的解决方案只是通过其中一种可能性,通常取决于区分大小写或在我尝试时使用双引号。

如果有人可以帮助我,我会非常感谢。

4

1 回答 1

1

以下是一些需要检查的事项:

  1. 您是否连接到正确的数据库?它没有找到架构表明您可能不是。要测试这个尝试:

      SELECT current_database();
    
  2. 我假设您的架构都是小写的?如果不是,除非双引号,否则它将被视为小写。

  3. 一旦您的完全限定的关系名称查询(最后一个)工作,您可能想要

      SET search_path=georeferenciacion_uno,public;
    

    因此它会在该架构中找到没有架构名称的表。

不过我的猜测是您可能连接到错误的数据库。

于 2013-11-09T12:45:32.337 回答