@@ -21,17 +21,14 @@ and cover an upgrade of a 2.2TB database.
2121
2222---
2323
24- CloudNativePG 1.26, expected at the end of this month, introduces one of the most highly anticipated features in
25- the project's history: in-place major version upgrades of PostgreSQL using
26- ` pg_upgrade ` .
24+ [ CloudNativePG 1.26] ( https://cloudnative-pg.io/releases/cloudnative-pg-1-26.0-released/ ) ,
25+ introduces one of the most highly anticipated features in the project's
26+ history: in-place major version upgrades of PostgreSQL using ` pg_upgrade ` .
2727
2828Unlike minor upgrades, which primarily involve applying patches, major upgrades
2929require handling changes to the internal storage format introduced by the new
3030PostgreSQL version.
3131
32- This feature is now available for public testing through the preview
33- [ 1.26.0-rc1 release] ( https://cloudnative-pg.io/releases/cloudnative-pg-1-26.0-rc1-released/ ) .
34-
3532## An Overview of the Existing Methods
3633
3734CloudNativePG now provides three declarative (yes, declarative!) methods for
@@ -65,18 +62,9 @@ operational challenges.
6562
6663## Before You Start
6764
68- In-place major upgrades are currently available for preview and testing in
69- [ CloudNativePG 1.26.0-RC1] ( https://cloudnative-pg.io/documentation/preview/installation_upgrade/#directly-using-the-operator-manifest ) .
70- You can test this feature on any Kubernetes cluster, including a local setup
65+ You can test in-place major upgrades on any Kubernetes cluster, including a local setup
7166using ` kind ` , as explained in [ "CloudNativePG Recipe 1 - Setting Up Your Local Playground in Minutes"] ({{< relref "../20240303-recipe-local-setup/index.md" >}}).
7267
73- To deploy CloudNativePG 1.26.0-RC1, run:
74-
75- ``` sh
76- kubectl apply --server-side -f \
77- https://raw.githubusercontent.com/cloudnative-pg/cloudnative-pg/main/releases/cnpg-1.26.0-rc1.yaml
78- ```
79-
8068## How It Works
8169
8270CloudNativePG allows you to specify the PostgreSQL operand image in two ways:
@@ -90,13 +78,13 @@ apply to the image catalog approach.
9078Let’s assume you have a PostgreSQL cluster running with:
9179
9280``` yaml
93- imageName : ghcr.io/cloudnative-pg/postgresql:13.20 -minimal-bullseye
81+ imageName : ghcr.io/cloudnative-pg/postgresql:13.21 -minimal-bullseye
9482` ` `
9583
9684This means your cluster is using the latest available container image for
97- PostgreSQL 13 (minor version 20 ). Since PostgreSQL 13 reaches end-of-life in
85+ PostgreSQL 13 (minor version 21 ). Since PostgreSQL 13 reaches end-of-life in
9886November this year, you decide to upgrade to PostgreSQL 17 using the
99- ` ghcr.io/cloudnative-pg/postgresql:17.4 -minimal-bullseye` image.
87+ ` ghcr.io/cloudnative-pg/postgresql:17.5 -minimal-bullseye` image.
10088
10189By updating the `imageName` field in the cluster configuration, CloudNativePG
10290automatically initiates a major version upgrade.
@@ -167,7 +155,7 @@ kubectl cnpg psql pg -- -qAt -c 'SELECT version()'
167155Returning something similar to this :
168156
169157` ` ` console
170- PostgreSQL 13.20 (Debian 13.20 -1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
158+ PostgreSQL 13.21 (Debian 13.21 -1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
171159` ` `
172160
173161Now, let’s upgrade from PostgreSQL 13, which is nearing end-of-life, to the
@@ -190,7 +178,7 @@ again. Your database should now be running PostgreSQL 17.
190178If you check again the version, you should now get a similar output :
191179
192180` ` ` console
193- PostgreSQL 17.4 (Debian 17.4 -1.pgdg110+2 ) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
181+ PostgreSQL 17.5 (Debian 17.5 -1.pgdg110+1 ) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
194182` ` `
195183
196184If you type `kubectl get pods` now, you will see that pods and PVCs named
@@ -294,12 +282,6 @@ upgrades. As demonstrated in testing, upgrade times primarily depend on the
294282number of tables rather than database size, making this approach efficient even
295283for large datasets.
296284
297- The **success of this feature relies on real-world feedback**. We encourage you
298- to test and validate it during the release candidate phase to ensure
299- CloudNativePG 1.26.0 is robust and production-ready—especially when using
300- extensions. Your insights will directly influence its future, so let us know
301- what you think!
302-
303285---
304286
305287Stay tuned for the upcoming recipes! For the latest updates, consider
@@ -310,7 +292,4 @@ If you found this article informative, feel free to share it within your
310292network on social media using the provided links below. Your support is
311293immensely appreciated!
312294
313- <!--
314295_Cover Picture : [“Indian Elephant Photo - Kalyan Varma“](https://animalia.bio/indian-elephant)._
315- -->
316-
0 commit comments