Gitlab 13 -> 14 and Postgress 11 -> 13

Hi,

I’ve got a quick question for our upgrade path and GitLab CE.

We currently have GitLab 13.12.2 running on Debian stretch with an external PostgreSQL 11.

Our current plan is to upgrade GitLab to 13.12.8 leaving SQL as-is then upgrade; so our current plan is to:

  • Upgrade GitLab from 13.12.2 to 13.12.8
  • Ensure it still works
  • Stop Gitlab
  • Export PostgreSQL 11 DB
  • Import PostgreSQL DB into PostgreSQL 13
  • Install the PostgreSQL 13 client tools on the GitLab instance
  • Update the GitLab config to use the new DB
  • Start GitLab and ensure it can see the new DB and works
  • Upgrade GitLab to 14.0.4

Does that sound good? or should we upgrade the DB to 13 first, then go to GitLab 13.23.8 then 14?

We’ll be snapthotting the drives etc so that should this go wrong we can backtrack; I’m just trying to make this as smooth as possible as GitLab is one of our critical processes .

Thanks

Hi,

You will need to be on at least 14.x before postgres 13 support appears - since Gitlab 14.x supports postgres 12 and 13. Earlier releases pre 14.x don’t support postgres 13 as far as I’m aware.

I expect you are going to have to move from postgres 11 to postgres 12 first, and then once upgraded from Gitlab 13.x to Gitlab 14 you can then think about going to postgres 13. Gitlab 13.x supports postgres 11.x and 12.x.

Thanks for the reply…

Shame, I was hoping to skip PostgreSQL 12

I’m going by the info here: PostgreSQL versions shipped with Omnibus GitLab | GitLab

Whilst it refers to the versions in the omnibus package, I also realise that you are using an external one. Which theoretically could be OK. The only problem would be for example the database migrations which are made on some upgrades. They might be set to work with specific versions, hence why I believe it wouldn’t be supported.

I could be wrong, maybe one of the Gitlab Team would clarify if an external instance of Postgresql 13 would work with Gitlab 13.x.

On the other side of the coin, in the meantime, you could test all this and see if postgres 13 would work with Gitlab 13.x. If you have a test server of course, then you could use the backup/restore docs and test it somewhere separate from your production server.