mirror of
https://github.com/cloudnative-pg/plugin-barman-cloud.git
synced 2026-09-04 22:22:21 +02:00
Merge 129542b481 into f94016fcff
This commit is contained in:
commit
f4caf7b93a
@ -10,7 +10,11 @@ The following parameters are available for the Barman Cloud Plugin:
|
|||||||
|
|
||||||
- `barmanObjectName`: references the `ObjectStore` resource to be used by the
|
- `barmanObjectName`: references the `ObjectStore` resource to be used by the
|
||||||
plugin.
|
plugin.
|
||||||
- `serverName`: Specifies the server name in the object store.
|
- `serverName`: the archive namespace used under the ObjectStore
|
||||||
|
`destinationPath` for base backups and WAL files. If omitted, it defaults to
|
||||||
|
the Cluster name. Change this value when you need a separate archive path,
|
||||||
|
for example during a
|
||||||
|
[PostgreSQL major upgrade](usage.md#archive-path-separation-for-postgresql-major-upgrades).
|
||||||
|
|
||||||
:::important
|
:::important
|
||||||
The `serverName` parameter in the `ObjectStore` resource is retained solely for
|
The `serverName` parameter in the `ObjectStore` resource is retained solely for
|
||||||
|
|||||||
@ -9,6 +9,19 @@ sidebar_position: 25
|
|||||||
You can upgrade the plugin simply by installing the new version. Unless
|
You can upgrade the plugin simply by installing the new version. Unless
|
||||||
explicitly stated below or in the release notes, no special steps are required.
|
explicitly stated below or in the release notes, no special steps are required.
|
||||||
|
|
||||||
|
## PostgreSQL major version upgrades
|
||||||
|
|
||||||
|
Upgrading the PostgreSQL major version of a Cluster that uses this plugin is
|
||||||
|
handled by CloudNativePG. The plugin does **not** automatically separate backup
|
||||||
|
and WAL archives across majors.
|
||||||
|
|
||||||
|
Before you change `imageName` to a new major, update the Cluster plugin
|
||||||
|
`serverName` so the upgraded cluster writes to a new archive path. See
|
||||||
|
[Archive path separation for PostgreSQL major upgrades](usage.md#archive-path-separation-for-postgresql-major-upgrades)
|
||||||
|
and the CloudNativePG
|
||||||
|
[PostgreSQL major upgrades](https://cloudnative-pg.io/documentation/current/postgres_upgrades/)
|
||||||
|
guide.
|
||||||
|
|
||||||
## Upgrading to version 0.8.x from previous versions
|
## Upgrading to version 0.8.x from previous versions
|
||||||
|
|
||||||
Version **0.8.0** introduces breaking changes to resource naming.
|
Version **0.8.0** introduces breaking changes to resource naming.
|
||||||
|
|||||||
@ -79,6 +79,85 @@ spec:
|
|||||||
|
|
||||||
This configuration enables both WAL archiving and data directory backups.
|
This configuration enables both WAL archiving and data directory backups.
|
||||||
|
|
||||||
|
By default, the plugin uses the Cluster name as the `serverName` archive
|
||||||
|
namespace under the ObjectStore `destinationPath`. You can override it with the
|
||||||
|
`serverName` plugin parameter. See
|
||||||
|
[Parameters](parameters.md) for details.
|
||||||
|
|
||||||
|
## Archive path separation for PostgreSQL major upgrades
|
||||||
|
|
||||||
|
The Barman Cloud Plugin does **not** automatically separate archives when you
|
||||||
|
perform a PostgreSQL major version upgrade. If you keep the same `serverName`,
|
||||||
|
the upgraded cluster continues to write backups and WAL files into the same
|
||||||
|
object-store path used before the upgrade.
|
||||||
|
|
||||||
|
That is unsafe because `pg_upgrade` creates a new database system with a new
|
||||||
|
*System ID* and resets the PostgreSQL timeline to 1. Reusing the same archive
|
||||||
|
path can:
|
||||||
|
|
||||||
|
- overwrite or collide with previous timeline 1 history files
|
||||||
|
- mix backups and WAL files from different PostgreSQL majors in one archive
|
||||||
|
- cause timeline/history conflicts for replicas restoring from that archive
|
||||||
|
|
||||||
|
:::warning
|
||||||
|
Point-in-time recovery (PITR) is not supported across major PostgreSQL version
|
||||||
|
boundaries. Pre-upgrade backups cannot recover to a point in time after the
|
||||||
|
upgrade. Take a new base backup as soon as possible after upgrading.
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Recommended practice
|
||||||
|
|
||||||
|
Change the Cluster plugin `serverName` when you change `imageName` for the
|
||||||
|
major upgrade. Existing backups and WAL files remain available under the old
|
||||||
|
`serverName` path. New backups and WAL archives go to the new path.
|
||||||
|
|
||||||
|
Before upgrade (PostgreSQL 16):
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
apiVersion: postgresql.cnpg.io/v1
|
||||||
|
kind: Cluster
|
||||||
|
metadata:
|
||||||
|
name: cluster-example
|
||||||
|
spec:
|
||||||
|
imageName: ghcr.io/cloudnative-pg/postgresql:16
|
||||||
|
plugins:
|
||||||
|
- name: barman-cloud.cloudnative-pg.io
|
||||||
|
isWALArchiver: true
|
||||||
|
parameters:
|
||||||
|
barmanObjectName: prod-store
|
||||||
|
serverName: cluster-pg16
|
||||||
|
```
|
||||||
|
|
||||||
|
After upgrade (PostgreSQL 18) — update both `imageName` and `serverName`
|
||||||
|
together:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
apiVersion: postgresql.cnpg.io/v1
|
||||||
|
kind: Cluster
|
||||||
|
metadata:
|
||||||
|
name: cluster-example
|
||||||
|
spec:
|
||||||
|
imageName: ghcr.io/cloudnative-pg/postgresql:18
|
||||||
|
plugins:
|
||||||
|
- name: barman-cloud.cloudnative-pg.io
|
||||||
|
isWALArchiver: true
|
||||||
|
parameters:
|
||||||
|
barmanObjectName: prod-store
|
||||||
|
serverName: cluster-pg18
|
||||||
|
```
|
||||||
|
|
||||||
|
With this configuration:
|
||||||
|
|
||||||
|
- pre-upgrade backups remain under `serverName: cluster-pg16`
|
||||||
|
- the upgraded cluster archives to `serverName: cluster-pg18`
|
||||||
|
- you can still recover the pre-upgrade cluster by pointing recovery
|
||||||
|
`externalClusters` plugin parameters at the old `serverName`
|
||||||
|
|
||||||
|
For the full CloudNativePG major-upgrade procedure, including backup and WAL
|
||||||
|
archive considerations, see the
|
||||||
|
[PostgreSQL major upgrades](https://cloudnative-pg.io/documentation/current/postgres_upgrades/)
|
||||||
|
documentation.
|
||||||
|
|
||||||
## Performing a Base Backup
|
## Performing a Base Backup
|
||||||
|
|
||||||
Once WAL archiving is enabled, the cluster is ready for backups. Backups can be
|
Once WAL archiving is enabled, the cluster is ready for backups. Backups can be
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user