我即将开发一个应用程序,我将使用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服务器时,我会遇到一个大问题吗?
我有一个巨大的项目在我面前,我只是想听听以前处理过这个问题的人的意见,这样我就可以尽可能好地提前计划。任何和所有的意见都将不胜感激。
发布于 2012-07-31 08:32:40
如果这是一个新的应用程序,你应该使用dev plan beta而不是8.3共享的那个。这很可能在你完成一个大项目之前就已经过了测试版。当旧的共享计划显然已经过时,而PostgreSQL 8.3本身在2月份成为due for deprecation时,你几乎没有理由去处理8.3的怪癖。我不建议任何人现在使用9.1以外的任何东西构建新的PostgreSQL应用程序;与早期版本相比,它修复了太多的限制。
发布于 2012-07-30 02:10:26
是的,如果您的软件将依赖于这两个数据库版本中不同的一些功能,那么您可能会遇到问题。例如,当您将使用在9.1中存在而在8.3中不存在的特性时。
然而,通常升级(从较小的版本号到较大的版本号)是没有问题的。你应该去查一查。
好的测试套件会有所帮助,只需在一个数据库上测试应用程序,然后在另一个数据库上测试应用程序。
规则1:您用于测试的数据库必须与您在生产环境中使用的数据库(引擎、版本、操作系统)完全相同,否则您将无法说您测试了您的应用程序。
规则2:没有像"postgre“这样的东西。数据库名称为PostgreSQL或Postgres。
https://stackoverflow.com/questions/11711236
复制相似问题