2015-06-27 79 views
0

我想从我的rails应用程序运行db:migrate。无法在postgresql中运行“create extension hstore”

迁移文件:

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

错误:

-- enable_extension("hstore")
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

PG::UndefinedFile: ERROR: could not open extension control file "/usr/pgsql-9.4/share/extension/hstore.control": No such file or directory : CREATE EXTENSION IF NOT EXISTS "hstore"/gems/activerecord-4.2.0/lib/active_record/connection_adapters/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) 

关于这个问题搜索后,我发现了 'hstore' 依赖可以使用PostgreSQL-的contrib来解决。我添加了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 
+1

这些软件包似乎适用于Postgres 8.4。试试'yum install postgresql94-contrib'。 –

+0

谢谢!有效。 – user3139250

+0

@NickBarnes,请发表您的评论作为答案。所以我可以upvote。它确实有帮助。 –

回答

1

在PostgreSQL实例中有一团糟 - 活动PostgreSQL是9.4,安装rpm 8.4。

0

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

相关问题