3 merge requests!114heptapod#1394: making 1.0 the oldstable,!110heptapod#1352: merged heptapod branch into heptapod-stable,!106Merged upstream 16.4 branching point into heptapod branch
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
When upgrading to a new major version, remember to first [check for background migrations](https://docs.gitlab.com/ee/update/index.html#check-for-background-migrations-before-upgrading).
## 15.11
### PostgreSQL 13 upgrade
In GitLab 15.11, PostgreSQL will automatically be upgraded to 13.x except for the following cases:
- You are running the database in high availability using Patroni.
- Your database nodes are part of GitLab Geo configuration.
- You have specifically [opted out](../settings/database.md#opt-out-of-automatic-postgresql-upgrades).
- You have `postgresql['version'] = 12` in your `gitlab.rb`
Fault-tolerant and Geo installations support manual upgrades to PostgreSQL 13, see [Packaged PostgreSQL deployed in an HA/Geo Cluster](../settings/database.md#packaged-postgresql-deployed-in-an-hageo-cluster).
## 15.6
### PostgreSQL version updates
In GitLab 15.6, the [PostgreSQL versions shipped with `omnibus-gitlab` packages](https://docs.gitlab.com/ee/administration/package_information/postgresql_versions.html)
this can cause an automatic restart of the PostgreSQL service, and can
potentially cause downtime.
## 15.0
### PostgreSQL version updates
In GitLab 15.0, Linux package installations [ship with PostgreSQL versions](https://docs.gitlab.com/ee/administration/package_information/postgresql_versions.html) 12.10 for upgrades and 13.6 for fresh installs.
Because of underlying structural changes, the running PostgreSQL
process **_must_** be restarted when it is upgraded before running database migrations. If automatic
restart is skipped, you must run the following command before
migrations are run:
```shell
# If using PostgreSQL
sudo gitlab-ctl restart postgresql
# If using Patroni for Database replication
sudo gitlab-ctl restart patroni
```
If PostgreSQL is not restarted, you might face
[errors related to loading libraries](../settings/database.md#could-not-load-library-plpgsqlso).
### Automatic restart of PostgreSQL service on version change
Starting with GitLab 15.0, `postgresql` and `geo-postgresql` services are
automatically restarted when the PostgreSQL version changes. Restarting
PostgreSQL services causes downtime due to the temporary unavailability of the
database for operations. While this restart is mandatory for proper functioning
of the Database services, you might want more control over when the PostgreSQL
is restarted. For that purpose, you can choose to skip the automatic restarts as
part of `gitlab-ctl reconfigure` and manually restart the services.
To skip automatic restarts as part of GitLab 15.0 upgrade, perform the following
steps before the upgrade:
1. Edit `/etc/gitlab/gitlab.rb` and add the following line:
This document was moved to [another location](https://docs.gitlab.com/ee/update/versions/gitlab_15_changes.html).