CNPG-Backup/cluster-postgres.yaml

2255 lines
78 KiB
YAML

apiVersion: v1
items:
- apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"postgresql.cnpg.io/v1","kind":"Cluster","metadata":{"annotations":{},"name":"cluster-postgres","namespace":"cnpg-iscsi"},"spec":{"backup":{"barmanObjectStore":{"destinationPath":"s3://mi-bucket/","endpointURL":"https://s3.garage.mitac.duckdns.org","s3Credentials":{"accessKeyId":{"key":"ACCESS_KEY_ID","name":"garage-s3-creds"},"secretAccessKey":{"key":"ACCESS_SECRET_KEY","name":"garage-s3-creds"}},"wal":{"compression":"gzip","maxParallel":2}}},"env":[{"name":"AWS_ACCESS_KEY_ID","valueFrom":{"secretKeyRef":{"key":"ACCESS_KEY_ID","name":"garage-s3-creds"}}},{"name":"AWS_SECRET_ACCESS_KEY","valueFrom":{"secretKeyRef":{"key":"ACCESS_SECRET_KEY","name":"garage-s3-creds"}}},{"name":"AWS_S3_ADDRESSING_STYLE","value":"path"},{"name":"AWS_DEFAULT_REGION","value":"garage"}],"instances":3,"monitoring":{"enablePodMonitor":true},"storage":{"size":"3Gi","storageClass":"iscsi"}}}
creationTimestamp: "2025-12-01T20:28:23Z"
generation: 26
name: cluster-postgres
namespace: cnpg-iscsi
resourceVersion: "62193975"
uid: 05efaab0-c169-4333-b266-cc0b95c8abcc
spec:
affinity:
podAntiAffinityType: preferred
backup:
barmanObjectStore:
destinationPath: s3://mi-bucket/
endpointURL: https://s3.garage.mitac.duckdns.org
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
wal:
compression: gzip
maxParallel: 2
target: prefer-standby
bootstrap:
initdb:
database: app
encoding: UTF8
localeCType: C
localeCollate: C
owner: app
enablePDB: true
enableSuperuserAccess: false
env:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
key: ACCESS_KEY_ID
name: garage-s3-creds
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
- name: AWS_S3_ADDRESSING_STYLE
value: path
- name: AWS_DEFAULT_REGION
value: garage
failoverDelay: 0
imageName: ghcr.io/cloudnative-pg/postgresql:17.5
instances: 3
logLevel: info
maxSyncReplicas: 0
minSyncReplicas: 0
monitoring:
customQueriesConfigMap:
- key: queries
name: cnpg-default-monitoring
disableDefaultQueries: false
enablePodMonitor: true
nodeMaintenanceWindow:
inProgress: false
reusePVC: false
postgresGID: 26
postgresUID: 26
postgresql:
parameters:
archive_mode: "on"
archive_timeout: 5min
dynamic_shared_memory_type: posix
full_page_writes: "on"
log_destination: csvlog
log_directory: /controller/log
log_filename: postgres
log_rotation_age: "0"
log_rotation_size: "0"
log_truncate_on_rotation: "false"
logging_collector: "on"
max_parallel_workers: "32"
max_replication_slots: "32"
max_worker_processes: "32"
shared_memory_type: mmap
shared_preload_libraries: ""
ssl_max_protocol_version: TLSv1.3
ssl_min_protocol_version: TLSv1.3
wal_keep_size: 512MB
wal_level: logical
wal_log_hints: "on"
wal_receiver_timeout: 5s
wal_sender_timeout: 5s
syncReplicaElectionConstraint:
enabled: false
primaryUpdateMethod: restart
primaryUpdateStrategy: unsupervised
probes:
liveness:
isolationCheck:
connectionTimeout: 1000
enabled: true
requestTimeout: 1000
replicationSlots:
highAvailability:
enabled: true
slotPrefix: _cnpg_
synchronizeReplicas:
enabled: true
updateInterval: 30
resources: {}
smartShutdownTimeout: 180
startDelay: 3600
stopDelay: 1800
storage:
resizeInUseVolumes: true
size: 3Gi
storageClass: iscsi
switchoverDelay: 3600
status:
availableArchitectures:
- goArch: amd64
hash: 527e2e3b680dfba7f7578b98530f755f36156e7be00acda3318ef36fe4f4418f
- goArch: arm64
hash: aaa74c6061f3fe30f230a664b4f6076bb886c9a89d4eba3293483525c5cff533
certificates:
clientCASecret: cluster-postgres-ca
expirations:
cluster-postgres-ca: 2026-11-14 05:03:40 +0000 UTC
cluster-postgres-replication: 2026-11-14 05:03:41 +0000 UTC
cluster-postgres-server: 2026-11-14 05:03:40 +0000 UTC
replicationTLSSecret: cluster-postgres-replication
serverAltDNSNames:
- cluster-postgres-rw
- cluster-postgres-rw.cnpg-iscsi
- cluster-postgres-rw.cnpg-iscsi.svc
- cluster-postgres-rw.cnpg-iscsi.svc.cluster.local
- cluster-postgres-r
- cluster-postgres-r.cnpg-iscsi
- cluster-postgres-r.cnpg-iscsi.svc
- cluster-postgres-r.cnpg-iscsi.svc.cluster.local
- cluster-postgres-ro
- cluster-postgres-ro.cnpg-iscsi
- cluster-postgres-ro.cnpg-iscsi.svc
- cluster-postgres-ro.cnpg-iscsi.svc.cluster.local
serverCASecret: cluster-postgres-ca
serverTLSSecret: cluster-postgres-server
cloudNativePGCommitHash: a9696201f
cloudNativePGOperatorHash: 527e2e3b680dfba7f7578b98530f755f36156e7be00acda3318ef36fe4f4418f
conditions:
- lastTransitionTime: "2026-08-25T01:11:38Z"
message: A single, unique system ID was found across reporting instances.
reason: Unique
status: "True"
type: ConsistentSystemID
- lastTransitionTime: "2026-08-17T01:42:07Z"
message: Cluster is Ready
reason: ClusterIsReady
status: "True"
type: Ready
- lastTransitionTime: "2026-08-16T20:45:15Z"
message: Continuous archiving is working
reason: ContinuousArchivingSuccess
status: "True"
type: ContinuousArchiving
- lastTransitionTime: "2026-08-19T01:57:27Z"
message: Backup was successful
reason: LastBackupSucceeded
status: "True"
type: LastBackupSucceeded
configMapResourceVersion:
metrics:
cnpg-default-monitoring: "34296455"
currentPrimary: cluster-postgres-2
currentPrimaryTimestamp: "2026-08-16T05:42:53.310392Z"
firstRecoverabilityPoint: "2026-04-09T04:39:01Z"
firstRecoverabilityPointByMethod:
barmanObjectStore: "2026-04-09T04:39:01Z"
healthyPVC:
- cluster-postgres-1
- cluster-postgres-2
- cluster-postgres-3
image: ghcr.io/cloudnative-pg/postgresql:17.5
instanceNames:
- cluster-postgres-1
- cluster-postgres-2
- cluster-postgres-3
instances: 3
instancesReportedState:
cluster-postgres-1:
ip: 10.42.0.76
isPrimary: false
timeLineID: 15
cluster-postgres-2:
ip: 10.42.0.81
isPrimary: true
timeLineID: 15
cluster-postgres-3:
ip: 10.42.0.82
isPrimary: false
timeLineID: 15
instancesStatus:
healthy:
- cluster-postgres-1
- cluster-postgres-2
- cluster-postgres-3
lastFailedBackup: "2026-05-19T15:28:29Z"
lastSuccessfulBackup: "2026-08-19T01:57:24Z"
lastSuccessfulBackupByMethod:
barmanObjectStore: "2026-08-19T01:57:24Z"
latestGeneratedNode: 3
managedRolesStatus:
byStatus:
not-managed:
- app
reconciled:
- user_app
reserved:
- postgres
- streaming_replica
passwordStatus:
user_app:
transactionID: 963
pgDataImageInfo:
image: ghcr.io/cloudnative-pg/postgresql:17.5
majorVersion: 17
phase: Cluster in healthy state
poolerIntegrations:
pgBouncerIntegration: {}
pvcCount: 3
readService: cluster-postgres-r
readyInstances: 3
secretsResourceVersion:
applicationSecretVersion: "43327318"
clientCaSecretVersion: "59085042"
replicationSecretVersion: "59085048"
serverCaSecretVersion: "59085042"
serverSecretVersion: "59085045"
switchReplicaClusterStatus: {}
systemID: "7578991023722242070"
targetPrimary: cluster-postgres-2
targetPrimaryTimestamp: "2026-08-16T08:33:36.281826Z"
timelineID: 15
topology:
instances:
cluster-postgres-1: {}
cluster-postgres-2: {}
cluster-postgres-3: {}
nodesUsed: 1
successfullyExtracted: true
writeService: cluster-postgres-rw
- apiVersion: postgresql.cnpg.io/v1
kind: ScheduledBackup
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"postgresql.cnpg.io/v1","kind":"ScheduledBackup","metadata":{"annotations":{},"name":"backup-diario-s3","namespace":"cnpg-iscsi"},"spec":{"backupOwnerReference":"self","cluster":{"name":"cluster-postgres"},"immediate":true,"method":"barmanObjectStore","schedule":"0 0 0,12 * * *"}}
creationTimestamp: "2026-02-04T13:34:24Z"
generation: 2
name: backup-diario-s3
namespace: cnpg-iscsi
resourceVersion: "53258321"
uid: dffc1e47-6467-4e31-ae68-73883c988574
spec:
backupOwnerReference: self
cluster:
name: cluster-postgres
immediate: true
method: barmanObjectStore
schedule: 0 0 0,12 * * *
status:
lastCheckTime: "2026-04-19T12:02:01Z"
lastScheduleTime: "2026-04-19T12:00:00Z"
nextScheduleTime: "2026-04-20T00:00:00Z"
- apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
creationTimestamp: "2026-04-09T12:00:00Z"
generation: 1
labels:
cnpg.io/cluster: cluster-postgres
cnpg.io/immediateBackup: "false"
cnpg.io/scheduled-backup: backup-diario-s3
name: backup-diario-s3-20260409120000
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: ScheduledBackup
name: backup-diario-s3
uid: dffc1e47-6467-4e31-ae68-73883c988574
resourceVersion: "51802316"
uid: 41f1276f-2d6c-4eaf-89f6-e4c16fb3fd3a
spec:
cluster:
name: cluster-postgres
method: barmanObjectStore
status:
backupId: 20260409T120022
backupName: backup-20260409120010
beginLSN: 1/18000ED0
beginWal: 0000000B0000000100000018
destinationPath: s3://mi-bucket/
endLSN: 1/1A000000
endWal: 0000000B000000010000001A
endpointURL: https://s3.garage.mitac.duckdns.org
instanceID:
ContainerID: containerd://97d4a13128473be33ce048c152715b094e73781701d4dd33fd2704a6ac57b7ca
podName: cluster-postgres-1
majorVersion: 17
method: barmanObjectStore
phase: completed
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
serverName: cluster-postgres
startedAt: "2026-04-09T12:00:22Z"
stoppedAt: "2026-04-09T12:00:26Z"
- apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
creationTimestamp: "2026-04-10T00:00:02Z"
generation: 1
labels:
cnpg.io/cluster: cluster-postgres
cnpg.io/immediateBackup: "false"
cnpg.io/scheduled-backup: backup-diario-s3
name: backup-diario-s3-20260410000000
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: ScheduledBackup
name: backup-diario-s3
uid: dffc1e47-6467-4e31-ae68-73883c988574
resourceVersion: "51903262"
uid: 41bd3b7f-ea71-45c2-908d-924d3877866e
spec:
cluster:
name: cluster-postgres
method: barmanObjectStore
status:
backupId: 20260410T000123
backupName: backup-20260410000046
beginLSN: 1/18000ED0
beginWal: 0000000B0000000100000018
destinationPath: s3://mi-bucket/
endLSN: 1/1A000000
endWal: 0000000B000000010000001A
endpointURL: https://s3.garage.mitac.duckdns.org
instanceID:
ContainerID: containerd://97d4a13128473be33ce048c152715b094e73781701d4dd33fd2704a6ac57b7ca
podName: cluster-postgres-1
majorVersion: 17
method: barmanObjectStore
phase: completed
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
serverName: cluster-postgres
startedAt: "2026-04-10T00:01:23Z"
stoppedAt: "2026-04-10T00:01:30Z"
- apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
creationTimestamp: "2026-04-10T12:00:02Z"
generation: 1
labels:
cnpg.io/cluster: cluster-postgres
cnpg.io/immediateBackup: "false"
cnpg.io/scheduled-backup: backup-diario-s3
name: backup-diario-s3-20260410120000
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: ScheduledBackup
name: backup-diario-s3
uid: dffc1e47-6467-4e31-ae68-73883c988574
resourceVersion: "52005732"
uid: 4bde1ff0-a6a4-43da-a8b7-0705f3820199
spec:
cluster:
name: cluster-postgres
method: barmanObjectStore
status:
backupId: 20260410T120102
backupName: backup-20260410120042
beginLSN: 1/18000ED0
beginWal: 0000000B0000000100000018
destinationPath: s3://mi-bucket/
endLSN: 1/1A000000
endWal: 0000000B000000010000001A
endpointURL: https://s3.garage.mitac.duckdns.org
instanceID:
ContainerID: containerd://97d4a13128473be33ce048c152715b094e73781701d4dd33fd2704a6ac57b7ca
podName: cluster-postgres-1
majorVersion: 17
method: barmanObjectStore
phase: completed
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
serverName: cluster-postgres
startedAt: "2026-04-10T12:01:02Z"
stoppedAt: "2026-04-10T12:01:07Z"
- apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
creationTimestamp: "2026-04-11T00:00:23Z"
generation: 1
labels:
cnpg.io/cluster: cluster-postgres
cnpg.io/immediateBackup: "false"
cnpg.io/scheduled-backup: backup-diario-s3
name: backup-diario-s3-20260411000000
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: ScheduledBackup
name: backup-diario-s3
uid: dffc1e47-6467-4e31-ae68-73883c988574
resourceVersion: "52105937"
uid: 3b609b67-404d-410e-a1a2-ef26ec8a46ce
spec:
cluster:
name: cluster-postgres
method: barmanObjectStore
status:
backupId: 20260411T000255
backupName: backup-20260411000153
beginLSN: 1/18000ED0
beginWal: 0000000B0000000100000018
destinationPath: s3://mi-bucket/
endLSN: 1/1A000000
endWal: 0000000B000000010000001A
endpointURL: https://s3.garage.mitac.duckdns.org
instanceID:
ContainerID: containerd://97d4a13128473be33ce048c152715b094e73781701d4dd33fd2704a6ac57b7ca
podName: cluster-postgres-1
majorVersion: 17
method: barmanObjectStore
phase: completed
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
serverName: cluster-postgres
startedAt: "2026-04-11T00:02:55Z"
stoppedAt: "2026-04-11T00:03:00Z"
- apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
creationTimestamp: "2026-04-11T12:00:03Z"
generation: 1
labels:
cnpg.io/cluster: cluster-postgres
cnpg.io/immediateBackup: "false"
cnpg.io/scheduled-backup: backup-diario-s3
name: backup-diario-s3-20260411120000
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: ScheduledBackup
name: backup-diario-s3
uid: dffc1e47-6467-4e31-ae68-73883c988574
resourceVersion: "52198493"
uid: b813cd4c-5c77-4655-9654-eb782afa0b5f
spec:
cluster:
name: cluster-postgres
method: barmanObjectStore
status:
backupId: 20260411T120017
backupName: backup-20260411120006
beginLSN: 1/1B000FD0
beginWal: 0000000B000000010000001B
destinationPath: s3://mi-bucket/
endLSN: 1/1D000000
endWal: 0000000B000000010000001D
endpointURL: https://s3.garage.mitac.duckdns.org
instanceID:
ContainerID: containerd://97d4a13128473be33ce048c152715b094e73781701d4dd33fd2704a6ac57b7ca
podName: cluster-postgres-1
majorVersion: 17
method: barmanObjectStore
phase: completed
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
serverName: cluster-postgres
startedAt: "2026-04-11T12:00:17Z"
stoppedAt: "2026-04-11T12:00:21Z"
- apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
creationTimestamp: "2026-04-12T00:00:06Z"
generation: 1
labels:
cnpg.io/cluster: cluster-postgres
cnpg.io/immediateBackup: "false"
cnpg.io/scheduled-backup: backup-diario-s3
name: backup-diario-s3-20260412000000
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: ScheduledBackup
name: backup-diario-s3
uid: dffc1e47-6467-4e31-ae68-73883c988574
resourceVersion: "52300082"
uid: 17f60d69-4935-42cd-9d7d-34f6cceb2397
spec:
cluster:
name: cluster-postgres
method: barmanObjectStore
status:
backupId: 20260412T000126
backupName: backup-20260412000034
beginLSN: 1/1B000FD0
beginWal: 0000000B000000010000001B
destinationPath: s3://mi-bucket/
endLSN: 1/1D000000
endWal: 0000000B000000010000001D
endpointURL: https://s3.garage.mitac.duckdns.org
instanceID:
ContainerID: containerd://97d4a13128473be33ce048c152715b094e73781701d4dd33fd2704a6ac57b7ca
podName: cluster-postgres-1
majorVersion: 17
method: barmanObjectStore
phase: completed
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
serverName: cluster-postgres
startedAt: "2026-04-12T00:01:26Z"
stoppedAt: "2026-04-12T00:01:35Z"
- apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
creationTimestamp: "2026-04-12T12:00:00Z"
generation: 1
labels:
cnpg.io/cluster: cluster-postgres
cnpg.io/immediateBackup: "false"
cnpg.io/scheduled-backup: backup-diario-s3
name: backup-diario-s3-20260412120000
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: ScheduledBackup
name: backup-diario-s3
uid: dffc1e47-6467-4e31-ae68-73883c988574
resourceVersion: "52399607"
uid: 2d38ac2e-ae41-4b3f-8535-57bed3cbfdad
spec:
cluster:
name: cluster-postgres
method: barmanObjectStore
status:
backupId: 20260412T120019
backupName: backup-20260412120006
beginLSN: 1/1B000FD0
beginWal: 0000000B000000010000001B
destinationPath: s3://mi-bucket/
endLSN: 1/1D000000
endWal: 0000000B000000010000001D
endpointURL: https://s3.garage.mitac.duckdns.org
instanceID:
ContainerID: containerd://97d4a13128473be33ce048c152715b094e73781701d4dd33fd2704a6ac57b7ca
podName: cluster-postgres-1
majorVersion: 17
method: barmanObjectStore
phase: completed
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
serverName: cluster-postgres
startedAt: "2026-04-12T12:00:19Z"
stoppedAt: "2026-04-12T12:00:23Z"
- apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
creationTimestamp: "2026-04-13T01:57:13Z"
generation: 1
labels:
cnpg.io/cluster: cluster-postgres
cnpg.io/immediateBackup: "false"
cnpg.io/scheduled-backup: backup-diario-s3
name: backup-diario-s3-20260413000000
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: ScheduledBackup
name: backup-diario-s3
uid: dffc1e47-6467-4e31-ae68-73883c988574
resourceVersion: "52612203"
uid: 9bffb2e0-4f72-479d-a0f1-b2476f013588
spec:
cluster:
name: cluster-postgres
method: barmanObjectStore
status:
backupId: 20260414T010834
backupName: backup-20260414010733
beginLSN: 1/1F000060
beginWal: 0000000B000000010000001F
destinationPath: s3://mi-bucket/
endLSN: 1/1F000158
endWal: 0000000B000000010000001F
endpointURL: https://s3.garage.mitac.duckdns.org
instanceID:
ContainerID: containerd://aacf4b0f1edd26bb10209bdef061a110d649b793ff0e83327ca10adc3da32051
podName: cluster-postgres-3
majorVersion: 17
method: barmanObjectStore
phase: completed
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
serverName: cluster-postgres
startedAt: "2026-04-14T01:08:35Z"
stoppedAt: "2026-04-14T01:08:38Z"
- apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
creationTimestamp: "2026-04-13T12:00:00Z"
generation: 1
labels:
cnpg.io/cluster: cluster-postgres
cnpg.io/immediateBackup: "false"
cnpg.io/scheduled-backup: backup-diario-s3
name: backup-diario-s3-20260413120000
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: ScheduledBackup
name: backup-diario-s3
uid: dffc1e47-6467-4e31-ae68-73883c988574
resourceVersion: "52612767"
uid: fd50fce3-0e3b-4791-af8e-cc5b049ae3c0
spec:
cluster:
name: cluster-postgres
method: barmanObjectStore
status:
backupId: 20260414T011025
backupName: backup-20260414010920
beginLSN: 1/1F000060
beginWal: 0000000B000000010000001F
destinationPath: s3://mi-bucket/
endLSN: 1/200000C8
endWal: 0000000B0000000100000020
endpointURL: https://s3.garage.mitac.duckdns.org
instanceID:
ContainerID: containerd://58db94ca6f4cbf2b1e6f6c9e719817cc4d7150082e815e229c6d58c0d7068f40
podName: cluster-postgres-2
majorVersion: 17
method: barmanObjectStore
phase: completed
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
serverName: cluster-postgres
startedAt: "2026-04-14T01:10:25Z"
stoppedAt: "2026-04-14T01:10:29Z"
- apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
creationTimestamp: "2026-04-14T01:05:49Z"
generation: 1
labels:
cnpg.io/cluster: cluster-postgres
cnpg.io/immediateBackup: "false"
cnpg.io/scheduled-backup: backup-diario-s3
name: backup-diario-s3-20260414000000
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: ScheduledBackup
name: backup-diario-s3
uid: dffc1e47-6467-4e31-ae68-73883c988574
resourceVersion: "52613399"
uid: 3a95e45f-1974-4c95-9c53-1898251dbce6
spec:
cluster:
name: cluster-postgres
method: barmanObjectStore
status:
backupId: 20260414T011455
backupName: backup-20260414011454
beginLSN: 1/200000C8
beginWal: 0000000B0000000100000020
destinationPath: s3://mi-bucket/
endLSN: 1/20000198
endWal: 0000000B0000000100000020
endpointURL: https://s3.garage.mitac.duckdns.org
instanceID:
ContainerID: containerd://d9a90dc05e96e0c7bf48f2fc5ee198c2d46cad7680069d002ebd411be6c1c16b
podName: cluster-postgres-1
majorVersion: 17
method: barmanObjectStore
phase: completed
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
serverName: cluster-postgres
startedAt: "2026-04-14T01:14:55Z"
stoppedAt: "2026-04-14T01:14:58Z"
- apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
creationTimestamp: "2026-04-14T12:00:00Z"
generation: 1
labels:
cnpg.io/cluster: cluster-postgres
cnpg.io/immediateBackup: "false"
cnpg.io/scheduled-backup: backup-diario-s3
name: backup-diario-s3-20260414120000
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: ScheduledBackup
name: backup-diario-s3
uid: dffc1e47-6467-4e31-ae68-73883c988574
resourceVersion: "52707050"
uid: d13e9e84-220c-4fec-a52b-8145c96a2a50
spec:
cluster:
name: cluster-postgres
method: barmanObjectStore
status:
backupId: 20260414T120012
backupName: backup-20260414120004
beginLSN: 1/200000C8
beginWal: 0000000B0000000100000020
destinationPath: s3://mi-bucket/
endLSN: 1/21000060
endWal: 0000000B0000000100000021
endpointURL: https://s3.garage.mitac.duckdns.org
instanceID:
ContainerID: containerd://d9a90dc05e96e0c7bf48f2fc5ee198c2d46cad7680069d002ebd411be6c1c16b
podName: cluster-postgres-1
majorVersion: 17
method: barmanObjectStore
phase: completed
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
serverName: cluster-postgres
startedAt: "2026-04-14T12:00:12Z"
stoppedAt: "2026-04-14T12:00:17Z"
- apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
creationTimestamp: "2026-04-15T00:00:05Z"
generation: 1
labels:
cnpg.io/cluster: cluster-postgres
cnpg.io/immediateBackup: "false"
cnpg.io/scheduled-backup: backup-diario-s3
name: backup-diario-s3-20260415000000
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: ScheduledBackup
name: backup-diario-s3
uid: dffc1e47-6467-4e31-ae68-73883c988574
resourceVersion: "52808830"
uid: 3f371c96-3048-48c0-a77c-ebe2d81ef91f
spec:
cluster:
name: cluster-postgres
method: barmanObjectStore
status:
backupId: 20260415T000232
backupName: backup-20260415000141
beginLSN: 1/200000C8
beginWal: 0000000B0000000100000020
destinationPath: s3://mi-bucket/
endLSN: 1/21000060
endWal: 0000000B0000000100000021
endpointURL: https://s3.garage.mitac.duckdns.org
instanceID:
ContainerID: containerd://d9a90dc05e96e0c7bf48f2fc5ee198c2d46cad7680069d002ebd411be6c1c16b
podName: cluster-postgres-1
majorVersion: 17
method: barmanObjectStore
phase: completed
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
serverName: cluster-postgres
startedAt: "2026-04-15T00:02:33Z"
stoppedAt: "2026-04-15T00:02:39Z"
- apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
creationTimestamp: "2026-04-15T12:00:00Z"
generation: 1
labels:
cnpg.io/cluster: cluster-postgres
cnpg.io/immediateBackup: "false"
cnpg.io/scheduled-backup: backup-diario-s3
name: backup-diario-s3-20260415120000
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: ScheduledBackup
name: backup-diario-s3
uid: dffc1e47-6467-4e31-ae68-73883c988574
resourceVersion: "52903534"
uid: 44aaae8a-efcc-47fe-bbf0-36717b52200c
spec:
cluster:
name: cluster-postgres
method: barmanObjectStore
status:
backupId: 20260415T120041
backupName: backup-20260415120007
beginLSN: 1/200000C8
beginWal: 0000000B0000000100000020
destinationPath: s3://mi-bucket/
endLSN: 1/21000060
endWal: 0000000B0000000100000021
endpointURL: https://s3.garage.mitac.duckdns.org
instanceID:
ContainerID: containerd://d9a90dc05e96e0c7bf48f2fc5ee198c2d46cad7680069d002ebd411be6c1c16b
podName: cluster-postgres-1
majorVersion: 17
method: barmanObjectStore
phase: completed
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
serverName: cluster-postgres
startedAt: "2026-04-15T12:00:41Z"
stoppedAt: "2026-04-15T12:00:45Z"
- apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
creationTimestamp: "2026-04-16T00:09:41Z"
generation: 1
labels:
cnpg.io/cluster: cluster-postgres
cnpg.io/immediateBackup: "false"
cnpg.io/scheduled-backup: backup-diario-s3
name: backup-diario-s3-20260416000000
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: ScheduledBackup
name: backup-diario-s3
uid: dffc1e47-6467-4e31-ae68-73883c988574
resourceVersion: "52970967"
uid: 8b0d5ec7-520d-45a2-9fe9-faa81aeeee57
spec:
cluster:
name: cluster-postgres
method: barmanObjectStore
status:
backupId: 20260416T001436
backupName: backup-20260416001214
beginLSN: 1/26000060
beginWal: 0000000C0000000100000026
destinationPath: s3://mi-bucket/
endLSN: 1/26000158
endWal: 0000000C0000000100000026
endpointURL: https://s3.garage.mitac.duckdns.org
instanceID:
ContainerID: containerd://034c0230772bccee8a55c123e72bb7617ad07b68867f206d9b23ba0153e6bd4d
podName: cluster-postgres-1
majorVersion: 17
method: barmanObjectStore
phase: completed
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
serverName: cluster-postgres
startedAt: "2026-04-16T00:14:36Z"
stoppedAt: "2026-04-16T00:14:43Z"
- apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
creationTimestamp: "2026-04-17T06:19:32Z"
generation: 1
labels:
cnpg.io/cluster: cluster-postgres
cnpg.io/immediateBackup: "false"
cnpg.io/scheduled-backup: backup-diario-s3
name: backup-diario-s3-20260417000000
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: ScheduledBackup
name: backup-diario-s3
uid: dffc1e47-6467-4e31-ae68-73883c988574
resourceVersion: "54689941"
uid: a33e7170-2500-42c2-b5d8-35082a1431f5
spec:
cluster:
name: cluster-postgres
method: barmanObjectStore
status:
backupId: 20260519T151838
backupName: backup-20260519151819
beginLSN: 1/4D001F08
beginWal: 0000000D000000010000004D
destinationPath: s3://mi-bucket/
endLSN: 1/4F000000
endWal: 0000000D000000010000004F
endpointURL: https://s3.garage.mitac.duckdns.org
instanceID:
ContainerID: containerd://0ce4f8a1751387ffb54402ab0fdcb69b91b5a67d37320cdb86639c24025b6de3
podName: cluster-postgres-1
majorVersion: 17
method: barmanObjectStore
phase: completed
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
serverName: cluster-postgres
startedAt: "2026-05-19T15:18:39Z"
stoppedAt: "2026-05-19T15:18:42Z"
- apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
creationTimestamp: "2026-04-19T05:16:58Z"
generation: 1
labels:
cnpg.io/cluster: cluster-postgres
cnpg.io/immediateBackup: "false"
cnpg.io/scheduled-backup: backup-diario-s3
name: backup-diario-s3-20260417120000
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: ScheduledBackup
name: backup-diario-s3
uid: dffc1e47-6467-4e31-ae68-73883c988574
resourceVersion: "54690019"
uid: 6fdfa6ef-85a9-4a2c-8b0f-bab5f2a92f41
spec:
cluster:
name: cluster-postgres
method: barmanObjectStore
status:
backupId: 20260519T151856
backupName: backup-20260519151855
beginLSN: 1/4D001F08
beginWal: 0000000D000000010000004D
destinationPath: s3://mi-bucket/
endLSN: 1/4F000000
endWal: 0000000D000000010000004F
endpointURL: https://s3.garage.mitac.duckdns.org
instanceID:
ContainerID: containerd://0ce4f8a1751387ffb54402ab0fdcb69b91b5a67d37320cdb86639c24025b6de3
podName: cluster-postgres-1
majorVersion: 17
method: barmanObjectStore
phase: completed
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
serverName: cluster-postgres
startedAt: "2026-05-19T15:18:56Z"
stoppedAt: "2026-05-19T15:18:58Z"
- apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
creationTimestamp: "2026-04-21T16:16:46Z"
generation: 1
labels:
cnpg.io/cluster: cluster-postgres
cnpg.io/immediateBackup: "false"
cnpg.io/scheduled-backup: backup-diario-s3
name: backup-diario-s3-20260420000000
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: ScheduledBackup
name: backup-diario-s3
uid: dffc1e47-6467-4e31-ae68-73883c988574
resourceVersion: "54691963"
uid: fd420308-f7a1-420a-b81e-f9ab8c1ca446
spec:
cluster:
name: cluster-postgres
method: barmanObjectStore
status:
backupId: 20260519T153652
backupName: backup-20260519153509
beginLSN: 1/4D001F08
beginWal: 0000000D000000010000004D
destinationPath: s3://mi-bucket/
endLSN: 1/4F000000
endWal: 0000000D000000010000004F
endpointURL: https://s3.garage.mitac.duckdns.org
instanceID:
ContainerID: containerd://0ce4f8a1751387ffb54402ab0fdcb69b91b5a67d37320cdb86639c24025b6de3
podName: cluster-postgres-1
majorVersion: 17
method: barmanObjectStore
phase: completed
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
serverName: cluster-postgres
startedAt: "2026-05-19T15:36:53Z"
stoppedAt: "2026-05-19T15:36:56Z"
- apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"postgresql.cnpg.io/v1","kind":"Backup","metadata":{"annotations":{},"name":"backup-prueba-manual","namespace":"cnpg-iscsi"},"spec":{"cluster":{"name":"cluster-postgres"}}}
creationTimestamp: "2026-08-19T01:57:16Z"
generation: 1
name: backup-prueba-manual
namespace: cnpg-iscsi
resourceVersion: "59515658"
uid: c95a4140-f879-4b56-8f30-a56f251e4245
spec:
cluster:
name: cluster-postgres
method: barmanObjectStore
status:
backupId: 20260819T015720
backupName: backup-20260819015717
beginLSN: 1/B5000DD0
beginWal: 0000000F00000001000000B5
destinationPath: s3://mi-bucket/
endLSN: 1/B7000000
endWal: 0000000F00000001000000B7
endpointURL: https://s3.garage.mitac.duckdns.org
instanceID:
ContainerID: containerd://d7461094c001037f72d475d9289631736877c1f20496584cb6374d2a19cffc6b
podName: cluster-postgres-1
majorVersion: 17
method: barmanObjectStore
phase: completed
s3Credentials:
accessKeyId:
key: ACCESS_KEY_ID
name: garage-s3-creds
secretAccessKey:
key: ACCESS_SECRET_KEY
name: garage-s3-creds
serverName: cluster-postgres
startedAt: "2026-08-19T01:57:20Z"
stoppedAt: "2026-08-19T01:57:24Z"
- apiVersion: v1
data:
ACCESS_KEY_ID: QUtJQVRHVVo0VjVMUjVDSUhJRlY=
ACCESS_SECRET_KEY: TG1zTVlUcmFtNW14cHYyNGxXOXBJYVNEcUkzOWJzeExHMENDYnczVg==
kind: Secret
metadata:
creationTimestamp: "2026-02-03T21:48:33Z"
name: aws-s3-creds
namespace: cnpg-iscsi
resourceVersion: "43103267"
uid: bbde20c5-61fb-4fb8-ba6b-ac282bf6482e
type: Opaque
- apiVersion: v1
data:
dbname: YXBw
fqdn-jdbc-uri: amRiYzpwb3N0Z3Jlc3FsOi8vY2x1c3Rlci1wb3N0Z3Jlcy1ydy5jbnBnLWlzY3NpLnN2Yy5jbHVzdGVyLmxvY2FsOjU0MzIvYXBwP3Bhc3N3b3JkPXhiYndTNkVOWUtFaWJHRm9HUDhCNDR1YjdqRENzQUxmUVY4SWdHaEtVb080V0tWb0QyWkVhcXI3WlpEem02RU0mdXNlcj1hcHA=
fqdn-uri: cG9zdGdyZXNxbDovL2FwcDp4YmJ3UzZFTllLRWliR0ZvR1A4QjQ0dWI3akRDc0FMZlFWOElnR2hLVW9PNFdLVm9EMlpFYXFyN1paRHptNkVNQGNsdXN0ZXItcG9zdGdyZXMtcncuY25wZy1pc2NzaS5zdmMuY2x1c3Rlci5sb2NhbDo1NDMyL2FwcA==
host: Y2x1c3Rlci1wb3N0Z3Jlcy1ydw==
jdbc-uri: amRiYzpwb3N0Z3Jlc3FsOi8vY2x1c3Rlci1wb3N0Z3Jlcy1ydy5jbnBnLWlzY3NpOjU0MzIvYXBwP3Bhc3N3b3JkPXhiYndTNkVOWUtFaWJHRm9HUDhCNDR1YjdqRENzQUxmUVY4SWdHaEtVb080V0tWb0QyWkVhcXI3WlpEem02RU0mdXNlcj1hcHA=
password: eGJid1M2RU5ZS0VpYkdGb0dQOEI0NHViN2pEQ3NBTGZRVjhJZ0doS1VvTzRXS1ZvRDJaRWFxcjdaWkR6bTZFTQ==
pgpass: Y2x1c3Rlci1wb3N0Z3Jlcy1ydzo1NDMyOmFwcDphcHA6eGJid1M2RU5ZS0VpYkdGb0dQOEI0NHViN2pEQ3NBTGZRVjhJZ0doS1VvTzRXS1ZvRDJaRWFxcjdaWkR6bTZFTQo=
port: NTQzMg==
uri: cG9zdGdyZXNxbDovL2FwcDp4YmJ3UzZFTllLRWliR0ZvR1A4QjQ0dWI3akRDc0FMZlFWOElnR2hLVW9PNFdLVm9EMlpFYXFyN1paRHptNkVNQGNsdXN0ZXItcG9zdGdyZXMtcncuY25wZy1pc2NzaTo1NDMyL2FwcA==
user: YXBw
username: YXBw
kind: Secret
metadata:
annotations:
cnpg.io/operatorVersion: 1.28.0
creationTimestamp: "2025-12-01T20:28:23Z"
labels:
app.kubernetes.io/managed-by: cloudnative-pg
cnpg.io/cluster: cluster-postgres
cnpg.io/reload: "true"
cnpg.io/userType: app
name: cluster-postgres-app
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: Cluster
name: cluster-postgres
uid: 05efaab0-c169-4333-b266-cc0b95c8abcc
resourceVersion: "43327318"
uid: 6777a61e-5e0c-4fe3-9c04-6f294e55b8c5
type: kubernetes.io/basic-auth
- apiVersion: v1
data:
ACCESS_KEY_ID: R0s3MTYxNTNiNWRmZWUyNTg3MGIxNzFiYjE=
ACCESS_SECRET_KEY: ZmRhY2UyYjdhZGUzMGNjZmE3MzBhM2E5ODQ5YjFmMzQyYTcwZmMzMGZkN2Q0NmYyN2UyZjdkOWIwODkyNjY1Yw==
kind: Secret
metadata:
creationTimestamp: "2026-04-09T02:53:05Z"
name: garage-s3-creds
namespace: cnpg-iscsi
resourceVersion: "51722674"
uid: 023f8202-deb9-48a8-9838-5f80d8305d15
type: Opaque
- apiVersion: v1
data:
ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJvVENDQVVhZ0F3SUJBZ0lRTVRtcnhkdElFVTA3bFgrL1R6aUJ5VEFLQmdncWhrak9QUVFEQWpBd01STXcKRVFZRFZRUUxFd3BqYm5CbkxXbHpZM05wTVJrd0Z3WURWUVFERXhCamJIVnpkR1Z5TFhCdmMzUm5jbVZ6TUI0WApEVEkyTURneE5qQTFNRE0wTUZvWERUSTJNVEV4TkRBMU1ETTBNRm93TURFVE1CRUdBMVVFQ3hNS1kyNXdaeTFwCmMyTnphVEVaTUJjR0ExVUVBeE1RWTJ4MWMzUmxjaTF3YjNOMFozSmxjekJaTUJNR0J5cUdTTTQ5QWdFR0NDcUcKU000OUF3RUhBMElBQklaZ0E3V0ZxNXRTcTlqUE45b2FmVG85TU8vV0JHS2dWQ3QzbXZFUkE2NHM3TjM1OXhoaQplUGpaV0ppSE5WQ2NBclFNUHdPNWt0bDdZWDRXTjI2SWJYT2pRakJBTUE0R0ExVWREd0VCL3dRRUF3SUNCREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJTNHJ5L2Rpb0t2a0ZocDBVV2liNFNpVnc1RjBEQUsKQmdncWhrak9QUVFEQWdOSkFEQkdBaUVBbllScjAwQkhXSTQ5RkdtYnNtVk1COGpjNUhqMC94WEZEd05iYkw1ZApvL0lDSVFDY0pUakIyTytNcy9Hd2pEd2YzUHVKTWM5S0JvaTd6dkZCZ0MxeUluNVBXdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
ca.key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSU9KWHFmMlA5Z2hXWGI2dHNucHJzOGdLMXFCelM0dkhhK05OTmNqeW1nMUhvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFaG1BRHRZV3JtMUtyMk04MzJocDlPajB3NzlZRVlxQlVLM2VhOFJFRHJpenMzZm4zR0dKNAorTmxZbUljMVVKd0N0QXcvQTdtUzJYdGhmaFkzYm9odGN3PT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=
kind: Secret
metadata:
creationTimestamp: "2025-12-01T20:28:23Z"
name: cluster-postgres-ca
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: Cluster
name: cluster-postgres
uid: 05efaab0-c169-4333-b266-cc0b95c8abcc
resourceVersion: "59085042"
uid: d4a080f2-eb98-41db-99e0-6eb881c81170
type: Opaque
- apiVersion: v1
data:
tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURVekNDQXZxZ0F3SUJBZ0lRU25MYkhaYnEyRFJkMC92c1VtYmRWVEFLQmdncWhrak9QUVFEQWpBd01STXcKRVFZRFZRUUxFd3BqYm5CbkxXbHpZM05wTVJrd0Z3WURWUVFERXhCamJIVnpkR1Z5TFhCdmMzUm5jbVZ6TUI0WApEVEkyTURneE5qQTFNRE0wTUZvWERUSTJNVEV4TkRBMU1ETTBNRm93SGpFY01Cb0dBMVVFQXhNVFkyeDFjM1JsCmNpMXdiM04wWjNKbGN5MXlkekJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCTVpZZ3NRUS85R0sKZjNGMFc2b2gzb1U2bHZ6RTJJWVVBVjhsa3F1OUNFbStvODRWZGprd1pmaVJEemFXTUZZYzVuanBGQnpjUFFKNwpqQ1A2MUVudVpUT2pnZ0lHTUlJQ0FqQU9CZ05WSFE4QkFmOEVCQU1DQTZnd0V3WURWUjBsQkF3d0NnWUlLd1lCCkJRVUhBd0V3REFZRFZSMFRBUUgvQkFJd0FEQWZCZ05WSFNNRUdEQVdnQlM0cnkvZGlvS3ZrRmhwMFVXaWI0U2kKVnc1RjBEQ0NBYW9HQTFVZEVRU0NBYUV3Z2dHZGdoSmpiSFZ6ZEdWeUxYQnZjM1JuY21WekxYS0NIV05zZFhOMApaWEl0Y0c5emRHZHlaWE10Y2k1amJuQm5MV2x6WTNOcGdpRmpiSFZ6ZEdWeUxYQnZjM1JuY21WekxYSXVZMjV3Clp5MXBjMk56YVM1emRtT0NMMk5zZFhOMFpYSXRjRzl6ZEdkeVpYTXRjaTVqYm5CbkxXbHpZM05wTG5OMll5NWoKYkhWemRHVnlMbXh2WTJGc2doTmpiSFZ6ZEdWeUxYQnZjM1JuY21WekxYSnZnaDVqYkhWemRHVnlMWEJ2YzNSbgpjbVZ6TFhKdkxtTnVjR2N0YVhOamMybUNJbU5zZFhOMFpYSXRjRzl6ZEdkeVpYTXRjbTh1WTI1d1p5MXBjMk56CmFTNXpkbU9DTUdOc2RYTjBaWEl0Y0c5emRHZHlaWE10Y204dVkyNXdaeTFwYzJOemFTNXpkbU11WTJ4MWMzUmwKY2k1c2IyTmhiSUlUWTJ4MWMzUmxjaTF3YjNOMFozSmxjeTF5ZDRJZVkyeDFjM1JsY2kxd2IzTjBaM0psY3kxeQpkeTVqYm5CbkxXbHpZM05wZ2lKamJIVnpkR1Z5TFhCdmMzUm5jbVZ6TFhKM0xtTnVjR2N0YVhOamMya3VjM1pqCmdqQmpiSFZ6ZEdWeUxYQnZjM1JuY21WekxYSjNMbU51Y0djdGFYTmpjMmt1YzNaakxtTnNkWE4wWlhJdWJHOWoKWVd3d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ2RFeHNPRlJJWGFNQkJRSDNOQ2VQUjhuTjhrMmJFemxtYnZoNQpabkxoYXZFQ0lIQTBaZzFGejBCcU1PdHgwUHZMcWtXUWpwbmZuWlFoaktzTE1rbmlFNWR2Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
tls.key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSU5aY1d1cXc0bWZObTFuKzhsQys1N2RLOGpEUDBVSWRoZm0vc0FRMGpNUk9vQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFeGxpQ3hCRC8wWXAvY1hSYnFpSGVoVHFXL01UWWhoUUJYeVdTcTcwSVNiNmp6aFYyT1RCbAorSkVQTnBZd1Zoem1lT2tVSE53OUFudU1JL3JVU2U1bE13PT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=
kind: Secret
metadata:
creationTimestamp: "2025-12-01T20:28:23Z"
name: cluster-postgres-server
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: Cluster
name: cluster-postgres
uid: 05efaab0-c169-4333-b266-cc0b95c8abcc
resourceVersion: "59085045"
uid: 5449237a-d7cb-4c2d-85a2-2a74a9836ee4
type: kubernetes.io/tls
- apiVersion: v1
data:
tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJvVENDQVVhZ0F3SUJBZ0lRZWlCaWFWYng3YnFVMEo2TjVzR1N0VEFLQmdncWhrak9QUVFEQWpBd01STXcKRVFZRFZRUUxFd3BqYm5CbkxXbHpZM05wTVJrd0Z3WURWUVFERXhCamJIVnpkR1Z5TFhCdmMzUm5jbVZ6TUI0WApEVEkyTURneE5qQTFNRE0wTVZvWERUSTJNVEV4TkRBMU1ETTBNVm93SERFYU1CZ0dBMVVFQXd3UmMzUnlaV0Z0CmFXNW5YM0psY0d4cFkyRXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU3ZTSU0wSFh1QzFQenkKMzlzenEvazRpVWpxc3NtRWc0Y1pvdkppcXBFMWN2djBsREhKV05BNHgwaVEzMkZjV2hyOFNIazRjYVNpNVhXTwpaaW5PYnNiUG8xWXdWREFPQmdOVkhROEJBZjhFQkFNQ0E0Z3dFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUhBd0l3CkRBWURWUjBUQVFIL0JBSXdBREFmQmdOVkhTTUVHREFXZ0JTNHJ5L2Rpb0t2a0ZocDBVV2liNFNpVnc1RjBEQUsKQmdncWhrak9QUVFEQWdOSkFEQkdBaUVBOUhJbTZtT1VmaXQwNG1oY09DWS9BbjhTSkNXTXRjK3dtRDhyUDA1cQpGOWdDSVFDaG1ZSENuekxaNWxFVXlicndiaS9GZ0xadno0WFBZOWwrUlNodlV1WVJiUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
tls.key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUp3Y1NjTkhOM0JHRVdNazdMejBiWmdUdS9zeW83bVZIVXVDaG1nWVRUWFJvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFcjBpRE5CMTdndFQ4OHQvYk02djVPSWxJNnJMSmhJT0hHYUx5WXFxUk5YTDc5SlF4eVZqUQpPTWRJa045aFhGb2EvRWg1T0hHa291VjFqbVlwem03R3p3PT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=
kind: Secret
metadata:
creationTimestamp: "2025-12-01T20:28:23Z"
name: cluster-postgres-replication
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: Cluster
name: cluster-postgres
uid: 05efaab0-c169-4333-b266-cc0b95c8abcc
resourceVersion: "59085048"
uid: 7e381c07-7f4c-4243-baba-2a90aaf67a82
type: kubernetes.io/tls
- apiVersion: v1
kind: Service
metadata:
annotations:
cnpg.io/operatorVersion: 1.28.0
creationTimestamp: "2025-12-01T20:28:23Z"
labels:
app.kubernetes.io/component: database
app.kubernetes.io/instance: cluster-postgres
app.kubernetes.io/managed-by: cloudnative-pg
app.kubernetes.io/name: postgresql
app.kubernetes.io/version: "17"
cnpg.io/cluster: cluster-postgres
name: cluster-postgres-r
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: Cluster
name: cluster-postgres
uid: 05efaab0-c169-4333-b266-cc0b95c8abcc
resourceVersion: "43327319"
uid: cc6b618a-4f15-4419-80fe-24995f2cac2e
spec:
clusterIP: 10.43.240.6
clusterIPs:
- 10.43.240.6
internalTrafficPolicy: Cluster
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
ports:
- name: postgres
port: 5432
protocol: TCP
targetPort: 5432
selector:
cnpg.io/cluster: cluster-postgres
cnpg.io/podRole: instance
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
- apiVersion: v1
kind: Service
metadata:
annotations:
cnpg.io/operatorVersion: 1.28.0
creationTimestamp: "2025-12-01T20:28:23Z"
labels:
app.kubernetes.io/component: database
app.kubernetes.io/instance: cluster-postgres
app.kubernetes.io/managed-by: cloudnative-pg
app.kubernetes.io/name: postgresql
app.kubernetes.io/version: "17"
cnpg.io/cluster: cluster-postgres
name: cluster-postgres-ro
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: Cluster
name: cluster-postgres
uid: 05efaab0-c169-4333-b266-cc0b95c8abcc
resourceVersion: "43327322"
uid: 2f7e88eb-d639-4b56-8b4f-e6490bd5d2bf
spec:
clusterIP: 10.43.6.201
clusterIPs:
- 10.43.6.201
internalTrafficPolicy: Cluster
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
ports:
- name: postgres
port: 5432
protocol: TCP
targetPort: 5432
selector:
cnpg.io/cluster: cluster-postgres
cnpg.io/instanceRole: replica
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
- apiVersion: v1
kind: Service
metadata:
annotations:
cnpg.io/operatorVersion: 1.28.0
creationTimestamp: "2025-12-01T20:28:23Z"
labels:
app.kubernetes.io/component: database
app.kubernetes.io/instance: cluster-postgres
app.kubernetes.io/managed-by: cloudnative-pg
app.kubernetes.io/name: postgresql
app.kubernetes.io/version: "17"
cnpg.io/cluster: cluster-postgres
name: cluster-postgres-rw
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: Cluster
name: cluster-postgres
uid: 05efaab0-c169-4333-b266-cc0b95c8abcc
resourceVersion: "43327325"
uid: 51ed0662-c262-4066-97ea-2d2bcd1cf220
spec:
clusterIP: 10.43.205.69
clusterIPs:
- 10.43.205.69
internalTrafficPolicy: Cluster
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
ports:
- name: postgres
port: 5432
protocol: TCP
targetPort: 5432
selector:
cnpg.io/cluster: cluster-postgres
cnpg.io/instanceRole: primary
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
- apiVersion: v1
kind: PersistentVolumeClaim
metadata:
annotations:
cnpg.io/nodeSerial: "3"
cnpg.io/operatorVersion: 1.28.0
cnpg.io/pvcStatus: ready
pv.kubernetes.io/bind-completed: "yes"
pv.kubernetes.io/bound-by-controller: "yes"
volume.beta.kubernetes.io/storage-provisioner: csi.san.synology.com
volume.kubernetes.io/storage-provisioner: csi.san.synology.com
creationTimestamp: "2025-12-01T20:41:03Z"
finalizers:
- kubernetes.io/pvc-protection
labels:
app.kubernetes.io/component: database
app.kubernetes.io/managed-by: cloudnative-pg
app.kubernetes.io/name: postgresql
cnpg.io/cluster: cluster-postgres
cnpg.io/instanceName: cluster-postgres-3
cnpg.io/instanceRole: replica
cnpg.io/pvcRole: PG_DATA
role: replica
name: cluster-postgres-3
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: Cluster
name: cluster-postgres
uid: 05efaab0-c169-4333-b266-cc0b95c8abcc
resourceVersion: "52970857"
uid: 845b3af8-f26a-4a02-90b4-045948e829ef
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
storageClassName: iscsi
volumeMode: Filesystem
volumeName: pvc-845b3af8-f26a-4a02-90b4-045948e829ef
status:
accessModes:
- ReadWriteOnce
capacity:
storage: 3Gi
phase: Bound
- apiVersion: v1
kind: PersistentVolumeClaim
metadata:
annotations:
cnpg.io/nodeSerial: "1"
cnpg.io/operatorVersion: 1.28.0
cnpg.io/pvcStatus: ready
pv.kubernetes.io/bind-completed: "yes"
pv.kubernetes.io/bound-by-controller: "yes"
volume.beta.kubernetes.io/storage-provisioner: csi.san.synology.com
volume.kubernetes.io/storage-provisioner: csi.san.synology.com
creationTimestamp: "2025-12-01T20:28:26Z"
finalizers:
- kubernetes.io/pvc-protection
labels:
app.kubernetes.io/component: database
app.kubernetes.io/managed-by: cloudnative-pg
app.kubernetes.io/name: postgresql
cnpg.io/cluster: cluster-postgres
cnpg.io/instanceName: cluster-postgres-1
cnpg.io/instanceRole: replica
cnpg.io/pvcRole: PG_DATA
role: replica
name: cluster-postgres-1
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: Cluster
name: cluster-postgres
uid: 05efaab0-c169-4333-b266-cc0b95c8abcc
resourceVersion: "59087944"
uid: 8de5041e-6192-4985-b80d-c4bf7391ae48
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
storageClassName: iscsi
volumeMode: Filesystem
volumeName: pvc-8de5041e-6192-4985-b80d-c4bf7391ae48
status:
accessModes:
- ReadWriteOnce
capacity:
storage: 3Gi
phase: Bound
- apiVersion: v1
kind: PersistentVolumeClaim
metadata:
annotations:
cnpg.io/nodeSerial: "2"
cnpg.io/operatorVersion: 1.28.0
cnpg.io/pvcStatus: ready
pv.kubernetes.io/bind-completed: "yes"
pv.kubernetes.io/bound-by-controller: "yes"
volume.beta.kubernetes.io/storage-provisioner: csi.san.synology.com
volume.kubernetes.io/storage-provisioner: csi.san.synology.com
creationTimestamp: "2025-12-01T20:37:37Z"
finalizers:
- kubernetes.io/pvc-protection
labels:
app.kubernetes.io/component: database
app.kubernetes.io/managed-by: cloudnative-pg
app.kubernetes.io/name: postgresql
cnpg.io/cluster: cluster-postgres
cnpg.io/instanceName: cluster-postgres-2
cnpg.io/instanceRole: primary
cnpg.io/pvcRole: PG_DATA
role: primary
name: cluster-postgres-2
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: Cluster
name: cluster-postgres
uid: 05efaab0-c169-4333-b266-cc0b95c8abcc
resourceVersion: "59087946"
uid: a2ecaef8-7290-4064-84bb-443c2c34e7ac
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
storageClassName: iscsi
volumeMode: Filesystem
volumeName: pvc-a2ecaef8-7290-4064-84bb-443c2c34e7ac
status:
accessModes:
- ReadWriteOnce
capacity:
storage: 3Gi
phase: Bound
- apiVersion: v1
data:
ca.crt: |
-----BEGIN CERTIFICATE-----
MIIBeDCCAR2gAwIBAgIBADAKBggqhkjOPQQDAjAjMSEwHwYDVQQDDBhrM3Mtc2Vy
dmVyLWNhQDE3MTQwMTk0MDYwHhcNMjQwNDI1MDQzMDA2WhcNMzQwNDIzMDQzMDA2
WjAjMSEwHwYDVQQDDBhrM3Mtc2VydmVyLWNhQDE3MTQwMTk0MDYwWTATBgcqhkjO
PQIBBggqhkjOPQMBBwNCAARzM5ImFFlMKddxr18L6ajI4Vut0+v9lAld5URYYyIi
MjriNixzPyzO88TmU+EiJMVtp0JLZP3K1/OEEDhUA+gTo0IwQDAOBgNVHQ8BAf8E
BAMCAqQwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUnUcH2jhUrjNdtX2yeD15
qX/jvgwwCgYIKoZIzj0EAwIDSQAwRgIhAMrSF1dVLa+pFVP0XjY0QI0aF5X77hM7
n9Pgm5GvduwfAiEAsRrDwnYC5mBK4JCaGRbnXZe0lleJOuGEdVty1V7m36I=
-----END CERTIFICATE-----
kind: ConfigMap
metadata:
annotations:
kubernetes.io/description: Contains a CA bundle that can be used to verify the
kube-apiserver when using internal endpoints such as the internal service
IP or kubernetes.default.svc. No other usage is guaranteed across distributions
of Kubernetes clusters.
creationTimestamp: "2025-10-28T03:06:35Z"
name: kube-root-ca.crt
namespace: cnpg-iscsi
resourceVersion: "34296419"
uid: 64cd1ecd-21f6-410d-9db3-589dd9360bf2
- apiVersion: v1
data:
queries: |
backends:
query: |
SELECT sa.datname
, sa.usename
, sa.application_name
, states.state
, COALESCE(sa.count, 0) AS total
, COALESCE(sa.max_tx_secs, 0) AS max_tx_duration_seconds
FROM ( VALUES ('active')
, ('idle')
, ('idle in transaction')
, ('idle in transaction (aborted)')
, ('fastpath function call')
, ('disabled')
) AS states(state)
LEFT JOIN (
SELECT datname
, state
, usename
, COALESCE(application_name, '') AS application_name
, COUNT(*)
, COALESCE(EXTRACT (EPOCH FROM (max(now() - xact_start))), 0) AS max_tx_secs
FROM pg_catalog.pg_stat_activity
GROUP BY datname, state, usename, application_name
) sa ON states.state = sa.state
WHERE sa.usename IS NOT NULL
metrics:
- datname:
usage: "LABEL"
description: "Name of the database"
- usename:
usage: "LABEL"
description: "Name of the user"
- application_name:
usage: "LABEL"
description: "Name of the application"
- state:
usage: "LABEL"
description: "State of the backend"
- total:
usage: "GAUGE"
description: "Number of backends"
- max_tx_duration_seconds:
usage: "GAUGE"
description: "Maximum duration of a transaction in seconds"
backends_waiting:
query: |
SELECT count(*) AS total
FROM pg_catalog.pg_locks blocked_locks
JOIN pg_catalog.pg_locks blocking_locks
ON blocking_locks.locktype = blocked_locks.locktype
AND blocking_locks.database IS NOT DISTINCT FROM blocked_locks.database
AND blocking_locks.relation IS NOT DISTINCT FROM blocked_locks.relation
AND blocking_locks.page IS NOT DISTINCT FROM blocked_locks.page
AND blocking_locks.tuple IS NOT DISTINCT FROM blocked_locks.tuple
AND blocking_locks.virtualxid IS NOT DISTINCT FROM blocked_locks.virtualxid
AND blocking_locks.transactionid IS NOT DISTINCT FROM blocked_locks.transactionid
AND blocking_locks.classid IS NOT DISTINCT FROM blocked_locks.classid
AND blocking_locks.objid IS NOT DISTINCT FROM blocked_locks.objid
AND blocking_locks.objsubid IS NOT DISTINCT FROM blocked_locks.objsubid
AND blocking_locks.pid != blocked_locks.pid
JOIN pg_catalog.pg_stat_activity blocking_activity ON blocking_activity.pid = blocking_locks.pid
WHERE NOT blocked_locks.granted
metrics:
- total:
usage: "GAUGE"
description: "Total number of backends that are currently waiting on other queries"
pg_database:
query: |
SELECT datname
, pg_catalog.pg_database_size(datname) AS size_bytes
, pg_catalog.age(datfrozenxid) AS xid_age
, pg_catalog.mxid_age(datminmxid) AS mxid_age
FROM pg_catalog.pg_database
WHERE datallowconn
metrics:
- datname:
usage: "LABEL"
description: "Name of the database"
- size_bytes:
usage: "GAUGE"
description: "Disk space used by the database"
- xid_age:
usage: "GAUGE"
description: "Number of transactions from the frozen XID to the current one"
- mxid_age:
usage: "GAUGE"
description: "Number of multiple transactions (Multixact) from the frozen XID to the current one"
pg_postmaster:
query: |
SELECT EXTRACT(EPOCH FROM pg_postmaster_start_time) AS start_time
FROM pg_catalog.pg_postmaster_start_time()
metrics:
- start_time:
usage: "GAUGE"
description: "Time at which postgres started (based on epoch)"
pg_replication:
query: "SELECT CASE WHEN (
NOT pg_catalog.pg_is_in_recovery()
OR pg_catalog.pg_last_wal_receive_lsn() = pg_catalog.pg_last_wal_replay_lsn())
THEN 0
ELSE GREATEST (0,
EXTRACT(EPOCH FROM (now() - pg_catalog.pg_last_xact_replay_timestamp())))
END AS lag,
pg_catalog.pg_is_in_recovery() AS in_recovery,
EXISTS (TABLE pg_stat_wal_receiver) AS is_wal_receiver_up,
(SELECT count(*) FROM pg_catalog.pg_stat_replication) AS streaming_replicas"
metrics:
- lag:
usage: "GAUGE"
description: "Replication lag behind primary in seconds"
- in_recovery:
usage: "GAUGE"
description: "Whether the instance is in recovery"
- is_wal_receiver_up:
usage: "GAUGE"
description: "Whether the instance wal_receiver is up"
- streaming_replicas:
usage: "GAUGE"
description: "Number of streaming replicas connected to the instance"
pg_replication_slots:
query: |
SELECT slot_name,
slot_type,
database,
active,
(CASE pg_catalog.pg_is_in_recovery()
WHEN TRUE THEN pg_catalog.pg_wal_lsn_diff(pg_catalog.pg_last_wal_receive_lsn(), restart_lsn)
ELSE pg_catalog.pg_wal_lsn_diff(pg_catalog.pg_current_wal_lsn(), restart_lsn)
END) as pg_wal_lsn_diff
FROM pg_catalog.pg_replication_slots
WHERE NOT temporary
metrics:
- slot_name:
usage: "LABEL"
description: "Name of the replication slot"
- slot_type:
usage: "LABEL"
description: "Type of the replication slot"
- database:
usage: "LABEL"
description: "Name of the database"
- active:
usage: "GAUGE"
description: "Flag indicating whether the slot is active"
- pg_wal_lsn_diff:
usage: "GAUGE"
description: "Replication lag in bytes"
pg_stat_archiver:
query: |
SELECT archived_count
, failed_count
, COALESCE(EXTRACT(EPOCH FROM (now() - last_archived_time)), -1) AS seconds_since_last_archival
, COALESCE(EXTRACT(EPOCH FROM (now() - last_failed_time)), -1) AS seconds_since_last_failure
, COALESCE(EXTRACT(EPOCH FROM last_archived_time), -1) AS last_archived_time
, COALESCE(EXTRACT(EPOCH FROM last_failed_time), -1) AS last_failed_time
, COALESCE(CAST(CAST('x'||pg_catalog.right(pg_catalog.split_part(last_archived_wal, '.', 1), 16) AS pg_catalog.bit(64)) AS pg_catalog.int8), -1) AS last_archived_wal_start_lsn
, COALESCE(CAST(CAST('x'||pg_catalog.right(pg_catalog.split_part(last_failed_wal, '.', 1), 16) AS pg_catalog.bit(64)) AS pg_catalog.int8), -1) AS last_failed_wal_start_lsn
, EXTRACT(EPOCH FROM stats_reset) AS stats_reset_time
FROM pg_catalog.pg_stat_archiver
metrics:
- archived_count:
usage: "COUNTER"
description: "Number of WAL files that have been successfully archived"
- failed_count:
usage: "COUNTER"
description: "Number of failed attempts for archiving WAL files"
- seconds_since_last_archival:
usage: "GAUGE"
description: "Seconds since the last successful archival operation"
- seconds_since_last_failure:
usage: "GAUGE"
description: "Seconds since the last failed archival operation"
- last_archived_time:
usage: "GAUGE"
description: "Epoch of the last time WAL archiving succeeded"
- last_failed_time:
usage: "GAUGE"
description: "Epoch of the last time WAL archiving failed"
- last_archived_wal_start_lsn:
usage: "GAUGE"
description: "Archived WAL start LSN"
- last_failed_wal_start_lsn:
usage: "GAUGE"
description: "Last failed WAL LSN"
- stats_reset_time:
usage: "GAUGE"
description: "Time at which these statistics were last reset"
pg_stat_bgwriter:
runonserver: "<17.0.0"
query: |
SELECT checkpoints_timed
, checkpoints_req
, checkpoint_write_time
, checkpoint_sync_time
, buffers_checkpoint
, buffers_clean
, maxwritten_clean
, buffers_backend
, buffers_backend_fsync
, buffers_alloc
FROM pg_catalog.pg_stat_bgwriter
metrics:
- checkpoints_timed:
usage: "COUNTER"
description: "Number of scheduled checkpoints that have been performed"
- checkpoints_req:
usage: "COUNTER"
description: "Number of requested checkpoints that have been performed"
- checkpoint_write_time:
usage: "COUNTER"
description: "Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds"
- checkpoint_sync_time:
usage: "COUNTER"
description: "Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds"
- buffers_checkpoint:
usage: "COUNTER"
description: "Number of buffers written during checkpoints"
- buffers_clean:
usage: "COUNTER"
description: "Number of buffers written by the background writer"
- maxwritten_clean:
usage: "COUNTER"
description: "Number of times the background writer stopped a cleaning scan because it had written too many buffers"
- buffers_backend:
usage: "COUNTER"
description: "Number of buffers written directly by a backend"
- buffers_backend_fsync:
usage: "COUNTER"
description: "Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)"
- buffers_alloc:
usage: "COUNTER"
description: "Number of buffers allocated"
pg_stat_bgwriter_17:
runonserver: ">=17.0.0"
name: pg_stat_bgwriter
query: |
SELECT buffers_clean
, maxwritten_clean
, buffers_alloc
, EXTRACT(EPOCH FROM stats_reset) AS stats_reset_time
FROM pg_catalog.pg_stat_bgwriter
metrics:
- buffers_clean:
usage: "COUNTER"
description: "Number of buffers written by the background writer"
- maxwritten_clean:
usage: "COUNTER"
description: "Number of times the background writer stopped a cleaning scan because it had written too many buffers"
- buffers_alloc:
usage: "COUNTER"
description: "Number of buffers allocated"
- stats_reset_time:
usage: "GAUGE"
description: "Time at which these statistics were last reset"
pg_stat_checkpointer:
runonserver: ">=17.0.0"
query: |
SELECT num_timed AS checkpoints_timed
, num_requested AS checkpoints_req
, restartpoints_timed
, restartpoints_req
, restartpoints_done
, write_time
, sync_time
, buffers_written
, EXTRACT(EPOCH FROM stats_reset) AS stats_reset_time
FROM pg_catalog.pg_stat_checkpointer
metrics:
- checkpoints_timed:
usage: "COUNTER"
description: "Number of scheduled checkpoints that have been performed"
- checkpoints_req:
usage: "COUNTER"
description: "Number of requested checkpoints that have been performed"
- restartpoints_timed:
usage: "COUNTER"
description: "Number of scheduled restartpoints due to timeout or after a failed attempt to perform it"
- restartpoints_req:
usage: "COUNTER"
description: "Number of requested restartpoints that have been performed"
- restartpoints_done:
usage: "COUNTER"
description: "Number of restartpoints that have been performed"
- write_time:
usage: "COUNTER"
description: "Total amount of time that has been spent in the portion of processing checkpoints and restartpoints where files are written to disk, in milliseconds"
- sync_time:
usage: "COUNTER"
description: "Total amount of time that has been spent in the portion of processing checkpoints and restartpoints where files are synchronized to disk, in milliseconds"
- buffers_written:
usage: "COUNTER"
description: "Number of buffers written during checkpoints and restartpoints"
- stats_reset_time:
usage: "GAUGE"
description: "Time at which these statistics were last reset"
pg_stat_database:
query: |
SELECT datname
, xact_commit
, xact_rollback
, blks_read
, blks_hit
, tup_returned
, tup_fetched
, tup_inserted
, tup_updated
, tup_deleted
, conflicts
, temp_files
, temp_bytes
, deadlocks
, blk_read_time
, blk_write_time
FROM pg_catalog.pg_stat_database
metrics:
- datname:
usage: "LABEL"
description: "Name of this database"
- xact_commit:
usage: "COUNTER"
description: "Number of transactions in this database that have been committed"
- xact_rollback:
usage: "COUNTER"
description: "Number of transactions in this database that have been rolled back"
- blks_read:
usage: "COUNTER"
description: "Number of disk blocks read in this database"
- blks_hit:
usage: "COUNTER"
description: "Number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system's file system cache)"
- tup_returned:
usage: "COUNTER"
description: "Number of rows returned by queries in this database"
- tup_fetched:
usage: "COUNTER"
description: "Number of rows fetched by queries in this database"
- tup_inserted:
usage: "COUNTER"
description: "Number of rows inserted by queries in this database"
- tup_updated:
usage: "COUNTER"
description: "Number of rows updated by queries in this database"
- tup_deleted:
usage: "COUNTER"
description: "Number of rows deleted by queries in this database"
- conflicts:
usage: "COUNTER"
description: "Number of queries canceled due to conflicts with recovery in this database"
- temp_files:
usage: "COUNTER"
description: "Number of temporary files created by queries in this database"
- temp_bytes:
usage: "COUNTER"
description: "Total amount of data written to temporary files by queries in this database"
- deadlocks:
usage: "COUNTER"
description: "Number of deadlocks detected in this database"
- blk_read_time:
usage: "COUNTER"
description: "Time spent reading data file blocks by backends in this database, in milliseconds"
- blk_write_time:
usage: "COUNTER"
description: "Time spent writing data file blocks by backends in this database, in milliseconds"
pg_stat_replication:
primary: true
query: |
SELECT usename
, COALESCE(application_name, '') AS application_name
, COALESCE(client_addr::text, '') AS client_addr
, COALESCE(client_port::text, '') AS client_port
, EXTRACT(EPOCH FROM backend_start) AS backend_start
, COALESCE(pg_catalog.age(backend_xmin), 0) AS backend_xmin_age
, pg_catalog.pg_wal_lsn_diff(pg_catalog.pg_current_wal_lsn(), sent_lsn) AS sent_diff_bytes
, pg_catalog.pg_wal_lsn_diff(pg_catalog.pg_current_wal_lsn(), write_lsn) AS write_diff_bytes
, pg_catalog.pg_wal_lsn_diff(pg_catalog.pg_current_wal_lsn(), flush_lsn) AS flush_diff_bytes
, COALESCE(pg_catalog.pg_wal_lsn_diff(pg_catalog.pg_current_wal_lsn(), replay_lsn),0) AS replay_diff_bytes
, COALESCE((EXTRACT(EPOCH FROM write_lag)),0)::float AS write_lag_seconds
, COALESCE((EXTRACT(EPOCH FROM flush_lag)),0)::float AS flush_lag_seconds
, COALESCE((EXTRACT(EPOCH FROM replay_lag)),0)::float AS replay_lag_seconds
FROM pg_catalog.pg_stat_replication
metrics:
- usename:
usage: "LABEL"
description: "Name of the replication user"
- application_name:
usage: "LABEL"
description: "Name of the application"
- client_addr:
usage: "LABEL"
description: "Client IP address"
- client_port:
usage: "LABEL"
description: "Client TCP port"
- backend_start:
usage: "COUNTER"
description: "Time when this process was started"
- backend_xmin_age:
usage: "COUNTER"
description: "The age of this standby's xmin horizon"
- sent_diff_bytes:
usage: "GAUGE"
description: "Difference in bytes from the last write-ahead log location sent on this connection"
- write_diff_bytes:
usage: "GAUGE"
description: "Difference in bytes from the last write-ahead log location written to disk by this standby server"
- flush_diff_bytes:
usage: "GAUGE"
description: "Difference in bytes from the last write-ahead log location flushed to disk by this standby server"
- replay_diff_bytes:
usage: "GAUGE"
description: "Difference in bytes from the last write-ahead log location replayed into the database on this standby server"
- write_lag_seconds:
usage: "GAUGE"
description: "Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written it"
- flush_lag_seconds:
usage: "GAUGE"
description: "Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written and flushed it"
- replay_lag_seconds:
usage: "GAUGE"
description: "Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written, flushed and applied it"
pg_settings:
query: |
SELECT name,
CASE setting WHEN 'on' THEN '1' WHEN 'off' THEN '0' ELSE setting END AS setting
FROM pg_catalog.pg_settings
WHERE vartype IN ('integer', 'real', 'bool')
ORDER BY 1
metrics:
- name:
usage: "LABEL"
description: "Name of the setting"
- setting:
usage: "GAUGE"
description: "Setting value"
pg_extensions:
query: |
SELECT
current_database() as datname,
name as extname,
default_version,
installed_version,
CASE
WHEN default_version = installed_version THEN 0
ELSE 1
END AS update_available
FROM pg_catalog.pg_available_extensions
WHERE installed_version IS NOT NULL
metrics:
- datname:
usage: "LABEL"
description: "Name of the database"
- extname:
usage: "LABEL"
description: "Extension name"
- default_version:
usage: "LABEL"
description: "Default version"
- installed_version:
usage: "LABEL"
description: "Installed version"
- update_available:
usage: "GAUGE"
description: "An update is available"
target_databases:
- '*'
kind: ConfigMap
metadata:
annotations:
cnpg.io/operatorVersion: 1.27.1
creationTimestamp: "2025-10-28T03:06:37Z"
labels:
cnpg.io/reload: "true"
name: cnpg-default-monitoring
namespace: cnpg-iscsi
resourceVersion: "34296455"
uid: 930153bd-afeb-4fe8-8e5d-c0ff7bc267e7
- apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
annotations:
cnpg.io/operatorVersion: 1.27.0
creationTimestamp: "2025-12-01T20:28:24Z"
labels:
cnpg.io/cluster: cluster-postgres
name: cluster-postgres
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: Cluster
name: cluster-postgres
uid: 05efaab0-c169-4333-b266-cc0b95c8abcc
resourceVersion: "51741394"
uid: ab15caa5-93e4-40ce-a9e6-d3772b7002d9
rules:
- apiGroups:
- ""
resourceNames:
- cluster-postgres
- cnpg-default-monitoring
resources:
- configmaps
verbs:
- get
- watch
- apiGroups:
- ""
resourceNames:
- cluster-postgres-app
- cluster-postgres-ca
- cluster-postgres-replication
- cluster-postgres-server
- cluster-postgres-superuser
- garage-s3-creds
resources:
- secrets
verbs:
- get
- watch
- apiGroups:
- postgresql.cnpg.io
resourceNames:
- cluster-postgres
resources:
- clusters
verbs:
- get
- list
- watch
- apiGroups:
- postgresql.cnpg.io
resourceNames:
- cluster-postgres
resources:
- clusters/status
verbs:
- get
- patch
- update
- watch
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
verbs:
- list
- get
- delete
- apiGroups:
- postgresql.cnpg.io
resources:
- backups/status
verbs:
- get
- patch
- update
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
- apiGroups:
- postgresql.cnpg.io
resources:
- databases
verbs:
- get
- update
- list
- watch
- apiGroups:
- postgresql.cnpg.io
resources:
- databases/status
verbs:
- get
- patch
- update
- apiGroups:
- postgresql.cnpg.io
resources:
- publications
verbs:
- get
- update
- list
- watch
- apiGroups:
- postgresql.cnpg.io
resources:
- publications/status
verbs:
- get
- patch
- update
- apiGroups:
- postgresql.cnpg.io
resources:
- subscriptions
verbs:
- get
- update
- list
- watch
- apiGroups:
- postgresql.cnpg.io
resources:
- subscriptions/status
verbs:
- get
- patch
- update
- apiGroups:
- postgresql.cnpg.io
resourceNames:
- cluster-postgres
resources:
- failoverquorums
verbs:
- get
- list
- watch
- apiGroups:
- postgresql.cnpg.io
resourceNames:
- cluster-postgres
resources:
- failoverquorums/status
verbs:
- get
- patch
- update
- watch
- apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
annotations:
cnpg.io/operatorVersion: 1.27.0
creationTimestamp: "2025-12-01T20:28:24Z"
labels:
cnpg.io/cluster: cluster-postgres
name: cluster-postgres
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: Cluster
name: cluster-postgres
uid: 05efaab0-c169-4333-b266-cc0b95c8abcc
resourceVersion: "37084726"
uid: ce1b1320-4374-4866-9a20-d140b69a7aa2
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: cluster-postgres
subjects:
- kind: ServiceAccount
name: cluster-postgres
namespace: cnpg-iscsi
- apiVersion: v1
kind: ServiceAccount
metadata:
creationTimestamp: "2025-10-28T03:06:35Z"
name: default
namespace: cnpg-iscsi
resourceVersion: "34296418"
uid: 7c7c8256-2b43-4274-86d1-f8119a22d1df
- apiVersion: v1
kind: ServiceAccount
metadata:
annotations:
cnpg.io/managedSecrets: '[]'
cnpg.io/operatorVersion: 1.28.0
creationTimestamp: "2025-12-01T20:28:23Z"
labels:
cnpg.io/cluster: cluster-postgres
name: cluster-postgres
namespace: cnpg-iscsi
ownerReferences:
- apiVersion: postgresql.cnpg.io/v1
controller: true
kind: Cluster
name: cluster-postgres
uid: 05efaab0-c169-4333-b266-cc0b95c8abcc
resourceVersion: "43327335"
uid: 540e86c9-5372-425b-b202-5bc3bbfa6c41
kind: List
metadata:
resourceVersion: ""