如何在我的rails 4应用程序Digital Ocean中使用postgres 9.4?

问题描述:

我正在运行一个导轨应用程序Digital Ocean。我用dokku来设置它。如何在我的rails 4应用程序Digital Ocean中使用postgres 9.4?

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

然而,当我登录到我的生产环境中对数字海洋铁轨控制台,我通过键入

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

检查了我的Postgres的版本和我的输出是

{"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

但是当我跳进d igital海洋控制台和运行

pg_lsclusters

我得到

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

,其中9.4是在线版本。

我不确定我哪里出了问题,但我是新来的。任何帮助将不胜感激!

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

您的9.4似乎在端口5432上运行。你有哪个端口9.3正在运行?

入住database.yml

+0

所以我的主机设置为本地主机,我添加了一个端口5432到我的database.yml文件的端口号。但是当我推回到数字海洋并进行迁移时,我仍然得到jsonb列类型不存在的错误(这就是为什么我要使用postgres 9.4)。我如何检查9.3端口正在运行?以及如何知道应用程序服务器和数据库服务器是否在同一台计算机上?谢谢您的帮助 – user402516