【问题标题】:PhpStorm - ERROR: type "hstore" does not existPhpStorm - 错误:类型“hstore”不存在
【发布时间】:2016-11-23 15:33:48
【问题描述】:

我使用主 pgAdmin 来浏览和编辑我的 PostgreSQL 数据库。现在我想使用 PhpStorm。

在 PhpStorm 中我可以浏览我的表格,但我不能编辑数据。当我尝试时出现错误:

[42704] 错误:类型“hstore”不存在

Kde:PL/pgSQL 函数“on_update”在第 3 行附近的编译

函数on_update在更新触发器上,它将旧行保存到历史表中,它使用hstore类型。

PhpStorm 使用 postgresql-9.4-1201.jdbc4.jar 驱动程序。我不知道是驱动错误还是 PhpStorm 错误。我知道它在 pgAdmin 中有效,而在 PhpStorm 中无效。

【问题讨论】:

  • 您需要以 Postgres 超级用户身份运行 create extension hstorepostgresql.org/docs/current/static/sql-createextension.html
  • 我已经听过这个建议了。真的是这种情况吗?我的意思是.. 它在 pgAdmin 中工作,所以必须已经创建扩展程序?
  • 错误信息很清楚:扩展程序没有安装并且函数on_update正在使用hstore。我猜 pgAdmin 不使用该功能(无论该功能来自何处)
  • 好的。我会尝试。感谢您的快速回复。
  • 恐怕没用。我检查了我们的构建过程,它包含CREATE EXTENSION IF NOT EXISTS hstore;,所以安装了扩展。

标签: postgresql phpstorm


【解决方案1】:

我在与 Vojtěch 相同的环境中工作,我发现该扩展确实已创建并存在。但是在不同的模式(公共)中,当前连接运行(PostgreSQL search_path)。 PhpStorm 中可能存在错误,因为它不尊重 PostgreSQL 用户的默认搜索路径。

一些解决方法(仅适用于数据库控制台):

  • 在数据库控制台中使用RESET SEARCH_PATH; 语句。
  • 您可以在 JDBC 连接上强制执行 search_path,请参阅 question

【讨论】:

    猜你喜欢
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 2014-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    相关资源
    最近更新 更多