I am about to develop an app and I am going to deploy it using Heroku. Having experienced issues with my last app doing sqlite3 in development & test environments and postgres in production, I just want to run a postgres database in all my environments. As such, I went about installing postgres.
However, I came across this Heroku page (https://devcenter.heroku.com/articles/local-postgresql) which states that it uses PostgreSQL 8.3 databases for shared servers and PostgreSQL 9.1 for newly provisioned databases. Of course I want to use the shared servers at least initially. So, that leads me to some problems.
If I decide to install postgres 8.3 and use that to develop & deploy (so that my databases match the shared servers), am I going to run into a huge issue if I need to increase my database size and ultimately run postgres 9.1?
If I install postgres 9.1 and use that to develop & deploy, am I going to run into a huge problem when I deploy to the postgres 8.3 servers?
I have a huge project ahead of me and would just like to hear from someone who has dealt with this before so that I can plan ahead as best as possible. Any and all input would be appreciated.
If this is a new app, you should use the dev plan beta instead of the 8.3 shared one. That’s likely to be out of beta before you’re done with a large project. There’s very little reason for you to deal with the quirks of 8.3 when the old shared plan is obviously on its way out, and PostgreSQL 8.3 itself is due for deprecation in February. I wouldn’t recommend anyone build a new PostgreSQL app with anything other than 9.1 now; there are too many limitations it fixes compared to the earlier versions of the software.