【问题标题】:PostgreSQL Locally and Heroku PostgreSQL Versions本地 PostgreSQL 和 Heroku PostgreSQL 版本
【发布时间】:2012-07-27 12:21:51
【问题描述】:

我即将开发一个应用程序,我将使用 Heroku 部署它。在我的上一个应用程序在开发和测试环境中执行 sqlite3 以及在生产中使用 postgres 时遇到问题,我只想在我的所有环境中运行一个 postgres 数据库。因此,我开始安装 postgres。

但是,我遇到了这个 Heroku 页面 (https://devcenter.heroku.com/articles/local-postgresql),该页面声明它将 PostgreSQL 8.3 数据库用于共享服务器,将 PostgreSQL 9.1 用于新配置的数据库。当然,我想至少在最初使用共享服务器。所以,这给我带来了一些问题。

如果我决定安装 postgres 8.3 并使用它来开发和部署(以便我的数据库与共享服务器匹配),如果我需要增加我的数据库大小并最终运行 postgres 9.1,我会遇到一个大问题吗? ?

如果我安装 postgres 9.1 并使用它来开发和部署,我在部署到 postgres 8.3 服务器时会遇到大问题吗?

我有一个庞大的项目摆在我面前,我想听听以前处理过这个问题的人的意见,以便我能尽可能提前计划。任何和所有输入将不胜感激。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 postgresql heroku postgresql-9.1


    【解决方案1】:

    如果这是一个新应用程序,您应该使用dev plan beta 而不是 8.3 共享的应用程序。在你完成一个大型项目之前,这可能已经结束了测试。当旧的共享计划显然即将退出时,您几乎没有理由处理 8.3 的怪癖,而 PostgreSQL 8.3 本身在 2 月是due for deprecation。我现在不建议任何人使用 9.1 以外的任何东西构建新的 PostgreSQL 应用程序;与早期版本的软件相比,它修复了太多限制。

    【讨论】:

      【解决方案2】:

      是的,如果您的软件依赖于这两个数据库版本中不同的某些功能,您可能会遇到问题。例如,当您将使用 9.1 中存在而 8.3 中不存在的功能时。

      但是,通常升级(从较小的版本号到较大的版本号)是没有问题的。你应该检查一下。

      好的测试套件会有所帮助,只需在一个数据库上测试应用程序,然后在另一个数据库上测试。

      规则 1:您用于测试的数据库必须与您在生产中使用的数据库(引擎、版本、操作系统)完全相同 - 否则您将无法说您测试了您的应用程序。

      规则 2:没有像“postgre”这样的东西。数据库名称是 PostgreSQL 或 Postgres。

      【讨论】:

        猜你喜欢
        • 2015-10-23
        • 1970-01-01
        • 2014-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-26
        • 1970-01-01
        • 2018-03-07
        相关资源
        最近更新 更多