2

我即将开发一个应用程序,我将使用Heroku进行部署。在我开发sqlite3的最后一个应用程序遇到问题&测试环境和postgres在生产中,我只想在我的所有环境中运行postgres数据库。就这样,我开始安装postgres。PostgreSQL本地和Heroku PostgreSQL版本

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

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

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

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

回答

2

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

+0

非常感谢格雷格,谢谢。 – flyingarmadillo 2012-07-31 00:42:45

0

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

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

良好的测试套件将有所帮助,只需在一个数据库上测试应用程序,然后在另一个数据库上测试。规则1:您用于测试的数据库必须与您在生产中使用的数据库(引擎,版本,操作系统)完全相同 - 否则您将无法说您测试了您的应用程序。

规则2:没有什么像“postgre”。数据库名称是PostgreSQL或Postgres。