Datagrip - 与 Heroku 的 PostgreSQL 连接不显示表
Posted
技术标签:
【中文标题】Datagrip - 与 Heroku 的 PostgreSQL 连接不显示表【英文标题】:Datagrip - PostgreSQL connection to Heroku not showing tables 【发布时间】: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:
我做错了吗?谢谢你。
【问题讨论】:
【参考方案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 使用以下内省:
本机自省器(某些 DBMS 可能不可用)。这 本机 introspector 使用 DBMS 特定的表和视图作为 元数据。它可以检索特定于 DBMS 的详细信息并生成更多 数据库对象的精确图片。
基于 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/。
【讨论】:
以上是关于Datagrip - 与 Heroku 的 PostgreSQL 连接不显示表的主要内容,如果未能解决你的问题,请参考以下文章