Guides
Backups
Continuous WAL archiving and point-in-time recovery to object storage.
Keldon performs physical base backups and continuously archives WAL segments to object storage. This combination enables point-in-time recovery to any moment within the retention window.
Configuring a backup destination
Backups are stored in any S3-compatible bucket. Configure credentials as a Secret and reference them in the cluster spec:
spec:
backup:
barmanObjectStore:
destinationPath: "s3://my-bucket/cnb/"
s3Credentials:
accessKeyId:
name: s3-creds
key: ACCESS_KEY_ID
secretAccessKey:
name: s3-creds
key: SECRET_ACCESS_KEY
wal:
compression: gzip
data:
compression: gzip
retentionPolicy: "30d"
Scheduled backups
Create ScheduledBackup resources to trigger full base backups on a cron schedule:
apiVersion: postgresql.cnb.io/v1
kind: ScheduledBackup
metadata:
name: nightly
spec:
schedule: "0 2 * * *"
cluster:
name: prod
Point-in-time recovery
Restore a cluster to any moment in the retention window by bootstrapping from a backup:
spec:
bootstrap:
recovery:
source: prod-backup
recoveryTarget:
targetTime: "2026-04-22 10:15:00"
Verifying backups
List completed backups:
kubectl get backups
Each Backup resource reports its size, duration, and storage location.