【问题标题】:cannot run "create extension hstore" in postgresql无法在 postgresql 中运行“创建扩展 hstore”
【发布时间】:2015-09-14 05:07:11
【问题描述】:

我正在尝试从我的 rails 应用程序运行 db:migrate。

迁移文件:

 def self.up
    enable_extension "hstore"
 end
 def self.down
    disable_extension "hstore"
 end

错误:

-- enable_extension("hstore")
耙子中止了!
StandardError:发生错误,此迁移和所有后续迁移已取消:

PG::UndefinedFile: ERROR: could not open extension control file "/usr/pgsql-9.4/share/extension/hstore.control": 没有这样的文件或目录 : 如果不存在“hstore”/gems/activerecord-4.2.0/lib/active_record/connection_adapter/postgresql_adapter.rb:592:in `async_exec',则创建扩展

postgres=# select version(); ==> PostgreSQL 9.4.4 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11), 64-bit
(1 row)

在搜索了与此问题相关的内容后,我发现可以使用 postgresql-contrib 解决“hstore”依赖关系。我添加了 postgresql-contrib 但仍然没有用。

yum install postgresql ==> Package postgresql-8.4.20-2.el6_6.x86_64 already installed and latest version

yum install postgresql-contrib ==> Package postgresql-contrib-8.4.20-2.el6_6.x86_64 already installed and latest version

【问题讨论】:

  • 那些包似乎是为 Postgres 8.4 准备的。试试yum install postgresql94-contrib
  • @NickBarnes,请发表您的评论作为答案。这样我就可以投票了。真的很有帮助。

标签: ruby-on-rails ruby postgresql rails-postgresql hstore


【解决方案1】:

您的 PostgreSQL 实例一团糟 - 活动的 PostgreSQL 是 9.4,安装的 rpm 是 8.4。

【讨论】:

    【解决方案2】:

    需要安装 9.4 contrib 例如yum install postgresql94-contrib 而不是 8.4

    【讨论】:

      猜你喜欢
      • 2017-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-31
      • 2020-06-25
      • 2017-04-05
      • 1970-01-01
      • 2016-01-04
      相关资源
      最近更新 更多