Skip to content

Commit 1020e18

Browse files
committed
Edits for DDL replicaction/Mixed version prohibition
Signed-off-by: Dj Walker-Morgan <dj.walker-morgan@enterprisedb.com>
1 parent 351e43a commit 1020e18

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

product_docs/docs/pgd/5.8/upgrades/upgrading_major_rolling.mdx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ Doing the same for an EDB Postgres Distributed (PGD) cluster is essentially the
1515
The rolling upgrade process allows updating individual cluster nodes to a new major Postgres version while maintaining cluster availability and operational continuity.
1616
This approach minimizes downtime and ensures data integrity by allowing the rest of the cluster to remain operational as each node is upgraded sequentially.
1717

18+
While the upgrade process is in progress, the cluster will have mixed Postgres major versions running on different nodes. DDL replication is not supported between different major versions of Postgres, so you must ensure that no DDL changes are made to the cluster while the upgrade is in progress. That includes not running the `ALTER EXTENSION` commands generated by the upgrade processes until all nodes in the cluster are upgraded to the same major version.
19+
1820
The following overview of the general instructions and [worked example](#worked-example) help to provide a smooth and controlled upgrade process.
1921

2022
!!!Note
@@ -145,12 +147,14 @@ Using the [preliminary order](#prepare-the-upgrade), perform the following steps
145147

146148
`sudo systemctl daemon-reload`
147149

148-
149150
* **Restart Postgres**
150151
* Proceed to restart the PostgreSQL service:
151152

152153
`systemctl start postgres`
153154

155+
* **Update the extensions**
156+
* The upgrade process checks for extension updates and generates a script named `updated_extensions.sql` in the current directory if needed.
157+
This contains `ALTER EXTENSION` commands for any extensions that need updating after the upgrade. As these are DDL commands, if you have to run the script before all nodes are upgraded, you should turn off DDL replication temporarily to avoid issues with mixed major versions. If you can defer running the script until all nodes are upgraded, you can run it on each node after the upgrade of that node is complete.
154158

155159
* **Validate the new Postgres version**
156160
* Verify that your PostgreSQL instance is now upgraded:
@@ -551,6 +555,10 @@ Start the modified Postgres service:
551555
sudo systemctl start postgres
552556
```
553557

558+
### Update the extensions
559+
560+
After the upgrade, you may need to update the extensions. The upgrade process checks for extension updates and generates a script named `updated_extensions.sql` in the current directory if needed. In this case, no script was generated, so no extensions need updating.
561+
554562
### Validate the new Postgres version
555563

556564
Repeating the first step, check the version of Postgres to confirm that you upgraded kaboom correctly. While still on kaboom, run:

0 commit comments

Comments
 (0)