diff --git a/postgresql.cnpg.io/backup_v1.json b/postgresql.cnpg.io/backup_v1.json index d2bbc6c..05b040d 100644 --- a/postgresql.cnpg.io/backup_v1.json +++ b/postgresql.cnpg.io/backup_v1.json @@ -38,6 +38,26 @@ ], "type": "string" }, + "online": { + "description": "Whether the default type of backup with volume snapshots is online/hot (`true`, default) or offline/cold (`false`) Overrides the default setting specified in the cluster field '.spec.backup.volumeSnapshot.online'", + "type": "boolean" + }, + "onlineConfiguration": { + "description": "Configuration parameters to control the online/hot backup with volume snapshots Overrides the default settings specified in the cluster '.backup.volumeSnapshot.onlineConfiguration' stanza", + "properties": { + "immediateCheckpoint": { + "description": "Control whether the I/O workload for the backup initial checkpoint will be limited, according to the `checkpoint_completion_target` setting on the PostgreSQL server. If set to true, an immediate checkpoint will be used, meaning PostgreSQL will complete the checkpoint as soon as possible. `false` by default.", + "type": "boolean" + }, + "waitForArchive": { + "default": true, + "description": "If false, the function will return immediately after the backup is completed, without waiting for WAL to be archived. This behavior is only useful with backup software that independently monitors WAL archiving. Otherwise, WAL required to make the backup consistent might be missing and make the backup useless. By default, or when this parameter is true, pg_backup_stop will wait for WAL to be archived when archiving is enabled. On a standby, this means that it will wait only when archive_mode = always. If write activity on the primary is low, it may be useful to run pg_switch_wal on the primary in order to trigger an immediate segment switch.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, "target": { "description": "The policy to decide which instance should perform this backup. If empty, it defaults to `cluster.spec.backup.target`. Available options are empty string, `primary` and `prefer-standby`. `primary` to have backups run always on primary instances, `prefer-standby` to have backups run preferably on the most updated standby, if available.", "enum": [ @@ -147,6 +167,11 @@ "description": "The ID of the Barman backup", "type": "string" }, + "backupLabelFile": { + "description": "Backup label file content as returned by Postgres in case of online (hot) backups", + "format": "byte", + "type": "string" + }, "backupName": { "description": "The Name of the Barman backup", "type": "string" @@ -259,6 +284,10 @@ "description": "The backup method being used", "type": "string" }, + "online": { + "description": "Whether the backup was online/hot (`true`) or offline/cold (`false`)", + "type": "boolean" + }, "phase": { "description": "The last backup status", "type": "string" @@ -393,6 +422,11 @@ "description": "When the backup was terminated", "format": "date-time", "type": "string" + }, + "tablespaceMapFile": { + "description": "Tablespace map file content as returned by Postgres in case of online (hot) backups", + "format": "byte", + "type": "string" } }, "type": "object", diff --git a/postgresql.cnpg.io/cluster_v1.json b/postgresql.cnpg.io/cluster_v1.json index 3a94997..7f31f89 100644 --- a/postgresql.cnpg.io/cluster_v1.json +++ b/postgresql.cnpg.io/cluster_v1.json @@ -1118,6 +1118,31 @@ "description": "Labels are key-value pairs that will be added to .metadata.labels snapshot resources.", "type": "object" }, + "online": { + "default": true, + "description": "Whether the default type of backup with volume snapshots is online/hot (`true`, default) or offline/cold (`false`)", + "type": "boolean" + }, + "onlineConfiguration": { + "default": { + "immediateCheckpoint": false, + "waitForArchive": true + }, + "description": "Configuration parameters to control the online/hot backup with volume snapshots", + "properties": { + "immediateCheckpoint": { + "description": "Control whether the I/O workload for the backup initial checkpoint will be limited, according to the `checkpoint_completion_target` setting on the PostgreSQL server. If set to true, an immediate checkpoint will be used, meaning PostgreSQL will complete the checkpoint as soon as possible. `false` by default.", + "type": "boolean" + }, + "waitForArchive": { + "default": true, + "description": "If false, the function will return immediately after the backup is completed, without waiting for WAL to be archived. This behavior is only useful with backup software that independently monitors WAL archiving. Otherwise, WAL required to make the backup consistent might be missing and make the backup useless. By default, or when this parameter is true, pg_backup_stop will wait for WAL to be archived when archiving is enabled. On a standby, this means that it will wait only when archive_mode = always. If write activity on the primary is low, it may be useful to run pg_switch_wal on the primary in order to trigger an immediate segment switch.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, "snapshotOwnerReference": { "default": "none", "description": "SnapshotOwnerReference indicates the type of owner reference the snapshot should have", @@ -1183,7 +1208,6 @@ "type": "array" }, "schemaOnly": { - "default": false, "description": "When set to true, only the `pre-data` and `post-data` sections of `pg_restore` are invoked, avoiding data import. Default: `false`.", "type": "boolean" }, diff --git a/postgresql.cnpg.io/scheduledbackup_v1.json b/postgresql.cnpg.io/scheduledbackup_v1.json index a19e2c3..a003e39 100644 --- a/postgresql.cnpg.io/scheduledbackup_v1.json +++ b/postgresql.cnpg.io/scheduledbackup_v1.json @@ -52,6 +52,26 @@ ], "type": "string" }, + "online": { + "description": "Whether the default type of backup with volume snapshots is online/hot (`true`, default) or offline/cold (`false`) Overrides the default setting specified in the cluster field '.spec.backup.volumeSnapshot.online'", + "type": "boolean" + }, + "onlineConfiguration": { + "description": "Configuration parameters to control the online/hot backup with volume snapshots Overrides the default settings specified in the cluster '.backup.volumeSnapshot.onlineConfiguration' stanza", + "properties": { + "immediateCheckpoint": { + "description": "Control whether the I/O workload for the backup initial checkpoint will be limited, according to the `checkpoint_completion_target` setting on the PostgreSQL server. If set to true, an immediate checkpoint will be used, meaning PostgreSQL will complete the checkpoint as soon as possible. `false` by default.", + "type": "boolean" + }, + "waitForArchive": { + "default": true, + "description": "If false, the function will return immediately after the backup is completed, without waiting for WAL to be archived. This behavior is only useful with backup software that independently monitors WAL archiving. Otherwise, WAL required to make the backup consistent might be missing and make the backup useless. By default, or when this parameter is true, pg_backup_stop will wait for WAL to be archived when archiving is enabled. On a standby, this means that it will wait only when archive_mode = always. If write activity on the primary is low, it may be useful to run pg_switch_wal on the primary in order to trigger an immediate segment switch.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, "schedule": { "description": "The schedule does not follow the same format used in Kubernetes CronJobs as it includes an additional seconds specifier, see https://pkg.go.dev/github.com/robfig/cron#hdr-CRON_Expression_Format", "type": "string"