ruby-on-rails - Rails 4 + PostgreSQL hstore,无法执行 "CREATE EXTENSION hstore"

标签 ruby-on-rails postgresql rvm pg hstore

我通过以下方式在我的 MacOS X 上安装了 RubyOnRails 4.1.4 和 PostgreSQL:

brew install postgresql

当我尝试迁移这个时:

CREATE EXTENSION hstore

它给我一个错误:

PG::UndefinedFile: ERROR:  could not open extension control file "/usr/share/postgresql/9.3/extension/hstore.control": No such file or directory

我尝试使用以下方法在文件系统中找到“hstore.control”:

find / -name "hstore.control"

然后发现这个文件位于不同的路径:

usr/local/Cellar/postgresql/9.3.4/share/postgresql/extension/hstore.control

那么如何重新定义“PG”gem 的配置来更正hstore 扩展的路径呢? 我只是尝试删除 gem 并安装它:

rvm all do gem install pg -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.4/bin/pg_config

但是没有用。我仍然有同样的错误。

提前谢谢你。

更新:

我刚刚创建了符号链接(symbolic link)来更正路径,但无论如何它给了我同样的错误。

最佳答案

解决方案很简单,只需在您的操作系统中安装 postgresql-contrib,然后按照此处所示运行迁移 Rails 4 PostgreSQL integration或您使用的任何其他方式。 例如,如果您使用的是 ubuntu,它将是:

sudo apt-get install postgresql-contrib-X.X

其中 X.X 是您正在使用的 postgresql 版本。如果是 9.3 版,则为:

sudo apt-get install postgresql-contrib-9.3

我也觉得MAC Os差不多,只是你会用brew。

关于ruby-on-rails - Rails 4 + PostgreSQL hstore,无法执行 "CREATE EXTENSION hstore",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24669862/

相关文章:

postgresql - 将 Ansible postgresql_user 与 VirtualEnv 中的 psycopg2 结合使用

postgresql - 将数据从 Citus 迁移到 RDS

SQL 在三个表之间用联合左连接

ruby - 为什么我的 Ruby Git 脚本 Hook 使用错误的 $PATH 运行?

mysql - 升级到 Rails 4.2.0 : string literals in where conditions wrapped into quotation marks

ruby-on-rails - 在 Rails 中获取每个季度的第一个星期一

ruby-on-rails - 在 Rails 应用程序中发送自动电子邮件

ruby - RVM 设置 ruby​​ 默认值,当打开新终端时删除 RVM 设置,返回系统 ruby

ruby-on-rails - 为什么在尝试使用 RVM 安装 Ruby 时出现需求错误?

ruby-on-rails - 设计确认链接缺少域