Skip to content

Commit c2ca959

Browse files
committed
docs: update major upgrades to 1.26
Signed-off-by: Gabriele Bartolini <[email protected]>
1 parent 6c86012 commit c2ca959

File tree

3 files changed

+11
-32
lines changed

3 files changed

+11
-32
lines changed

content/posts/20250403-major-inplace-upgrades/index.md

Lines changed: 9 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -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

2828
Unlike minor upgrades, which primarily involve applying patches, major upgrades
2929
require handling changes to the internal storage format introduced by the new
3030
PostgreSQL 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

3734
CloudNativePG 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
7166
using `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

8270
CloudNativePG allows you to specify the PostgreSQL operand image in two ways:
@@ -90,13 +78,13 @@ apply to the image catalog approach.
9078
Let’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
9684
This 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
9886
November 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

10189
By updating the `imageName` field in the cluster configuration, CloudNativePG
10290
automatically initiates a major version upgrade.
@@ -167,7 +155,7 @@ kubectl cnpg psql pg -- -qAt -c 'SELECT version()'
167155
Returning 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

173161
Now, 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.
190178
If 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

196184
If 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
294282
number of tables rather than database size, making this approach efficient even
295283
for 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

305287
Stay 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
310292
network on social media using the provided links below. Your support is
311293
immensely appreciated!
312294

313-
<!--
314295
_Cover Picture: [“Indian Elephant Photo - Kalyan Varma“](https://animalia.bio/indian-elephant)._
315-
-->
316-

content/posts/20250403-major-inplace-upgrades/yaml/pg-13.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ kind: Cluster
33
metadata:
44
name: pg
55
spec:
6-
imageName: ghcr.io/cloudnative-pg/postgresql:13.20-minimal-bullseye
6+
imageName: ghcr.io/cloudnative-pg/postgresql:13.21-minimal-bullseye
77
instances: 3
88

99
storage:

content/posts/20250403-major-inplace-upgrades/yaml/pg-17.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ kind: Cluster
33
metadata:
44
name: pg
55
spec:
6-
imageName: ghcr.io/cloudnative-pg/postgresql:17.4-minimal-bullseye
6+
imageName: ghcr.io/cloudnative-pg/postgresql:17.5-minimal-bullseye
77
instances: 3
88

99
storage:

0 commit comments

Comments
 (0)