【问题标题】:How do I use postgres 9.4 in my rails 4 application Digital Ocean?如何在我的 rails 4 应用程序 Digital Ocean 中使用 postgres 9.4?
【发布时间】:2018-01-11 14:22:54
【问题描述】:

我正在运行一个 Rails 应用程序 Digital Ocean。我用dokku来设置它。

我使用这些说明:https://medium.com/@tk512/upgrading-postgresql-from-9-3-to-9-4-on-ubuntu-14-04-lts-2b4ddcd26535 将我的 postgres 从 9.3 升级到 9.4。一切都很顺利。

但是,当我在数字海洋的生产环境中登录到 Rails 控制台时,我通过键入

检查了我的 postgres 版本

ActiveRecord::Base.connection.execute("select version();").first

我的输出是

{"version"=>"PostgreSQL 9.3.9 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4, 64-bit"}

它仍在运行 postgres 9.3

但是当我跳进数字海洋控制台并运行时

pg_lsclusters

我明白了

9.4 main 5432 online postgres /var/lib/postgresql/9.4/main /var/log/postgresql/postgresql-9.4-main.log

其中 9.4 是在线版本。

我不确定我哪里出错了,但我对这一切都很陌生。任何帮助将不胜感激!

【问题讨论】:

    标签: ruby-on-rails postgresql digital-ocean dokku


    【解决方案1】:

    您是否在同一台机器上运行应用服务器和数据库服务器?确保您的database.yml 中正确设置了host 名称

    您的9.4 似乎正在端口5432 上运行。您让9.3 一直在运行哪个端口?

    查看database.yml中的端口号

    【讨论】:

    • 所以我的主机设置为 localhost,我在我的 database.yml 文件中添加了一个端口 5432。但是当我推回数字海洋并进行迁移时,我仍然收到一个错误,即 jsonb 列类型不存在(这就是我想使用 postgres 9.4 的原因)。如何检查端口 9.3 是否正在运行?我怎么知道应用服务器和数据库服务器是否在同一台机器上?感谢您的帮助
    猜你喜欢
    • 2019-02-26
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 2014-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    相关资源
    最近更新 更多