Docs - how to upgrade a non-bundled PostgreSQL database
Problem to solve
The Using a non-packaged PostgreSQL database management server does not contain any instructions on how to upgrade an external PostgreSQL database. Since this is a common configuration especially with users that use Amazon RDS or Google Cloud SQL for their GitLab database, we should make some mention of it in our documentation.
For instance, if a customer is running GitLab 11.11.8 with PostgreSQL 9.x, and then upgrades to GitLab 12.x, they are still using Postgres 9.x at this stage. GitLab 12.x is compatible with PostgreSQL version 10.x, and when the database is bundled, Omnibus automatically takes care of the upgrade process. The customer in this case would need to manually upgrade PostgreSQL 9.x to PostgreSQL 10.x themselves.
The question - is the database upgrade as simple as upgrading PostgreSQL to version 10.x and then GitLab 12.x will work with it, or does anything on the GitLab end need to be done?
Further details
Proposal
We need to run a test case:
- Install GitLab 11.11.8 with a non-bundled Postgres 9.x database
- Upgrade GitLab to 12.x
- Upgrade non-bundled Postgres 9.x database to Postgres 10.x
- Ensure that the non-bundled Postgres version matches the bundled Postgres version (this will address gitlab#14608 as well)
Once a test case is verified, then the steps need to be documented. The steps can serve as a template for subsequent GitLab upgrades that will require a Postgres upgrade.