You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Azure Database for PostgreSQL Flexible Server supports PostgreSQL versions 11, 12, 13, 14and 15. Postgres community releases a new major version containing new features about once a year. Additionally, major version receives periodic bug fixes in the form of minor releases. Minor version upgrades include changes that are backward-compatible with existing applications. Azure Database for PostgreSQL Flexible Server periodically updates the minor versions during customer’s maintenance window. Major version upgrades are more complicated than minor version upgrades as they can include internal changes and new features that may not be backward-compatible with existing applications.
18
+
Azure Database for PostgreSQL Flexible Server supports PostgreSQL versions 11, 12, 13, 14, 15 and 16. Postgres community releases a new major version containing new features about once a year. Additionally, major version receives periodic bug fixes in the form of minor releases. Minor version upgrades include changes that are backward-compatible with existing applications. Azure Database for PostgreSQL Flexible Server periodically updates the minor versions during customer’s maintenance window. Major version upgrades are more complicated than minor version upgrades, as they can include internal changes and new features that may not be backward-compatible with existing applications.
19
19
20
20
## Overview
21
21
@@ -30,25 +30,25 @@ Here are some of the important considerations with in-place major version upgrad
30
30
31
31
- If the pre-check is successful, then Flexible Server stops the service and takes an implicit backup just before starting the upgrade. This backup can be used to restore the database instance to its previous version if there's an upgrade error.
32
32
33
-
- Flexible Server uses **pg_upgrade** utility to perform in-place major version upgrades and provides the flexibility to skip versions and upgrade directly to higher versions.
33
+
- Flexible Server uses [**pg_upgrade**](https://www.postgresql.org/docs/current/pgupgrade.html) utility to perform in-place major version upgrades and provides the flexibility to skip versions and upgrade directly to higher versions.
34
34
35
35
- During an in-place major version upgrade of a High Availability (HA) enabled server, the service disables HA, performs the upgrade on the primary server, and then re-enables HA after the upgrade is complete.
36
36
37
37
- Most extensions are automatically upgraded to higher versions during an in-place major version upgrade, with some exceptions. Refer **limitations** section for more details.
38
38
39
39
- In-place major version upgrade process for Flexible Server automatically deploys the latest supported minor version.
40
40
41
-
- The process of performing an in-place major version upgrade is an offline operation that results in a brief period of downtime. Typically, the downtime is under 15 minutes, although the duration may vary depending on the number of system tables involved
41
+
- The process of performing an in-place major version upgrade is an offline operation that results in a brief period of downtime. Typically, the downtime is under 15 minutes, although the duration may vary depending on the number of system tables involved.
42
42
43
43
- Long-running transactions or high workload before the upgrade might increase the time taken to shut down the database and increase upgrade time.
44
44
45
-
- If an in-place major version upgrade fails, the service restores the server to its previous state using a backup taken as part of step 2.
45
+
- If an in-place major version upgrade fails, the service restores the server to its previous state using a backup taken as part of second step described in this list.
46
46
47
47
- Once the in-place major version upgrade is successful, there are no automated ways to revert to the earlier version. However, you can perform a Point-In-Time Recovery (PITR) to a time prior to the upgrade to restore the previous version of the database instance.
48
48
49
49
## Limitations
50
50
51
-
If in-place major version upgrade pre-check operations fail then it aborts with a detailed error message for all the below limitations.
51
+
If in-place major version upgrade pre-check operations fail, then the upgrade aborts with a detailed error message for all the below limitations.
52
52
53
53
- In-place major version upgrade currently doesn't support read replicas, so if you have a read replica enabled server, you need to delete the replica before performing the upgrade on the primary server. After the upgrade, you can recreate the replica.
54
54
@@ -61,7 +61,7 @@ If in-place major version upgrade pre-check operations fail then it aborts with
61
61
62
62
## How to perform in-place major version upgrade:
63
63
64
-
It's recommended to perform a dry run of the in-place major version upgrade in a non-production environment before upgrading the production server. It allows you to identify any application incompatibilities and validate that the upgrade completes successfully before upgrading the production environment. You can perform a Point-In-Time Recovery (PITR) of your production server and test the upgrade in the non-production environment. Addressing these issues before the production upgrade minimizes downtime and ensures a smooth upgrade process.
64
+
It's recommended to perform a dry run of the in-place major version upgrade in a non-production environment before upgrading the production server. It allows you to identify any application incompatibilities and validate that the upgrade completes successfully before upgrading the production environment. You can perform a Point-In-Time Recovery (PITR) of your production server, and restore it in the non-production environment to test the upgrade there. Addressing these issues before the production upgrade minimizes downtime and ensures a smooth upgrade process.
65
65
66
66
**Steps**
67
67
@@ -77,18 +77,18 @@ It's recommended to perform a dry run of the in-place major version upgrade in a
77
77
78
78
:::image type="content" source="media/concepts-major-version-upgrade/deployment-progress.png" alt-text="Diagram of deployment progress for major version upgrade.":::
79
79
80
-
4. Once the upgrade is successful,you can expand the **Deployment details** tab and click **Operation details** to see more information about upgrade process like duration, provisioning state etc.
80
+
4. Once the upgrade is successful,you can expand the **Deployment details** tab and click **Operation details** to see more information about upgrade process like duration, provisioning state etc.
81
81
82
82
:::image type="content" source="media/concepts-major-version-upgrade/deployment-success.png" alt-text="Diagram of successful deployment of for major version upgrade.":::
83
83
84
-
5. You can click on the **Go to resource** tab to validate your upgrade. You notice that server name remained unchanged and PostgreSQL version upgraded to desired higher version with the latest minor version.
84
+
5. You can click on the **Go to resource** tab to validate your upgrade. Notice that server name remained unchanged and PostgreSQL version upgraded to desired higher version with the latest minor version.
85
85
86
86
:::image type="content" source="media/concepts-major-version-upgrade/upgrade-verification.png" alt-text="Diagram of Upgraded version to Flexible Server after major version upgrade.":::
87
87
88
88
89
89
## Post upgrade
90
90
91
-
Run the **ANALYZE** operation to refresh the `pg_statistic` table. You should do this for every database on all your Flexible Server. Optimizer statistics aren't transferred during a major version upgrade, so you need to regenerate all statistics to avoid performance issues. Run the command without any parameters to generate statistics for all regular tables in the current database, as follows:
91
+
Run the **ANALYZE** operation to refresh the `pg_statistic` table. You should do this for every database on your Flexible Server. Optimizer statistics aren't transferred during a major version upgrade, so you need to regenerate all statistics to avoid performance issues. Run the command without any parameters to generate statistics for all regular tables in the current database, as follows:
0 commit comments