【问题标题】:Datagrip - PostgreSQL connection to Heroku not showing tablesDatagrip - 与 Heroku 的 PostgreSQL 连接不显示表
【发布时间】:2020-03-14 14:24:18
【问题描述】:

我使用 Jetbrains Datagrip 连接到我的 Heroku PostgreSQL 数据库。认证成功,连接时不需要指定优势属性,当我填写主机、数据库、用户名和密码时,测试连接成功。

当我将查询写入控制台时,一切正常,例如:

SELECT * FROM users

在我的数据库中查找所有用户。

当我想在我的数据库结构中查看 时,我遇到了问题。他们没有出现。在项目树中,我只能看到 Database_name -> schemas -> public -> key_id_seq(图片:Project tree structure)。当我点击同步按钮时,我得到一个错误:

[42703] org.postgresql.util.PSQLException: ERROR: column t.relhasoids does not exist
  Position: .
Error encountered when performing Introspect database *db_name* schema public (details): ERROR: column t.relhasoids does not exist
  Position: .
ERROR: column t.relhasoids does not exist
  Position: 

我做错了吗?谢谢你。

【问题讨论】:

    标签: postgresql datatables heroku-postgres datagrip


    【解决方案1】:

    Datagrip 已更新至版本 DataGrip 2019.3.3,内部版本 #DB-193.6494.42,于 2020 年 2 月 12 日构建,现在可以使用 :)

    【讨论】:

      【解决方案2】:

      尝试使用“使用 JDBC 元数据进行自省”。当(我认为)我在 postgresql 服务器和 DataGrip 客户端之间存在版本不匹配时,这为我解决了这个问题。

      在您的连接设置下 -> 选项选项卡 -> 选中 Introspect using JDBC metadata

      根据https://www.jetbrains.com/help/datagrip/data-sources-and-drivers-dialog.html#optionsTab

      切换到基于 JDBC 的内省。

      要检索有关数据库对象(数据库元数据)的信息,DataGrip 使用以下内省:

      1. 本机自省器(某些 DBMS 可能不可用)。这 本机 introspector 使用 DBMS 特定的表和视图作为 元数据。它可以检索特定于 DBMS 的详细信息并生成更多 数据库对象的精确图片。

      2. 基于 JDBC 的自省器(适用于所有 DBMS)。基于 JDBC 的 introspector 使用 JDBC 驱动程序提供的元数据。它可以 仅检索有关数据库对象及其的标准信息 属性。

      考虑在原生的时候使用基于 JDBC 的检查器 自省失败或不可用。

      当您的数据库服务器版本为 早于 DataGrip 支持的最低版本。

      您可以尝试切换到基于 JDBC 的内省来修复问题 从您的数据库中检索数据库结构信息。 例如,当您的数据库或数据库中存在的模式 架构级别以下的对象不会显示在数据库工具中 窗口。

      【讨论】:

        【解决方案3】:

        我的情况在这里不同。但我得到了类似的错误:

        发生错误:

        01:15:21 PM: Error: ERROR:  column rel.relhasoids does not exist
        LINE 1: ...t_userbyid(rel.relowner) AS relowner, rel.relacl, rel.relhas...
        

        我使用 pgadmin 3 连接到 Heroku 托管的 Postgresql。然后我配置 pgadmin 4。错误没有显示在上面。为了安装 pgadmin 4,我使用了 docker 方法。

        docker pull dpage/pgadmin4
        docker run -p 5050:80 -e "PGADMIN_DEFAULT_EMAIL=XXXX@Xmail.com" -e "PGADMIN_DEFAULT_PASSWORD=thirumal" -d dpage/pgadmin4
        

        现在,打开浏览器并导航 http://localhost:5050/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-03-28
          • 1970-01-01
          • 2021-12-19
          • 2014-06-26
          • 2016-03-28
          • 2018-10-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多