Skip to content

Timeline for switching the minimum PostgreSQL required to PG13

This issue is for discussing our timeline to switch the minimum required PostgreSQL to PG13.

Switching to PostgreSQL 13 will at least require to first switch to PG13 in GitLab.com and all major cloud providers supporting it.

Our timeline will also depend on the new features provided and the performance and availability/reliability gains from doing so.

Current status

Upgrade Plan

PostgreSQL 13 specific actions:

  1. GitLab.com plan for 2022 - Prepare upgrade to PG13 Q3, execute the upgrade early Q4 (meeting notes)
  2. PostgreSQL 12 will remain the minimum supported PostgreSQL version for GitLab 15.x (no changes)
    • In 15.0 we announce the deprecation of PostgreSQL 12 with a removal date of May 2023 (GitLab 16.0).
    • In GitLab 16.0, PostgreSQL 13 will become the minimum supported PostgreSQL version
  3. PostgreSQL 13 becomes the default for Omnibus fresh installs on 15.0

Setup yearly cadence going forward (GitLab 16+):

  1. With every major GitLab version we will be increasing the minimum required PostgreSQL version to the next major version.

    For example, if we follow the proposed plan, in GitLab 17.0 PostgreSQL 14 will become the minimum supported PostgreSQL version, in GitLab 18.0 PostgreSQL 15 will become the minimum supported PostgreSQL version, etc

  2. We will be announcing the deprecation of the current minimum PostgreSQL version one year in advance, with the release of each major version of GitLab.

    For example, in GitLab 15.0 we will announce the deprecation of PG12 (to be removed in GitLab 16.0), in GitLab 16.0 we will announce the deprecation of PG13 (to be removed in GitLab 17.0), etc

  3. GitLab.com will be upgrading to the next major version every year during Q4 - Prepare upgrade in Q3 of every year. Execute upgrade during Q4

  4. Optional support for the next major PG version will be added to Omnibus with the release of each major version of GitLab. The next major PG version will become the default for fresh installations in the middle of the release cycle (~ minor version .6)

    For example, in GitLab 16.0 we'll add optional support for PostgreSQL 14 and it will become the default for fresh installations around 16.6.

    This is not required for GitLab 15.x as we are going to remain to PG12 as the minimum and support for PG13 will be added earlier this year (GitLab 15.0).

At a glance:

GitLab Version Minimum Supported Version Optionally Supported Version (Omnibus fresh installs) Omnibus Default Release notes GitLab.com
15.0 PG12 PG13 PG13 Support for PG12 will be removed in 16.0
Upgrade to PG13 early Q4 2022
16.0 PG13 PG14 PG13 Support for PG13 will be removed in 17.0
16.6 PG13 PG14 PG14 Upgrade to PG14 early Q4 2023
17.0 PG14 PG15 PG14 Support for PG14 will be removed in 18.0
17.6 PG14 PG15 PG15 Upgrade to PG15 early Q4 2024
Edited by Yannis Roussos