Skip to content

Issue with S3 Backup in Multi‑Repository pgBackRest Configuration #4469

@Eric-zch

Description

@Eric-zch

Overview
An ERROR: [032]: key '2' is not valid for 'repo' option occurred when using S3 for backup storage.

Environment
Please provide the following details:

Platform: Openshift
Platform Version: v4.16.37
PGO Image Tag: ubi8-5.7.9-0
Postgres Version: ubi8-14.15

Steps to Reproduce.
Yaml file for the postgrescluster

apiVersion: postgres-operator.crunchydata.com/v1beta1
kind: PostgresCluster
metadata:
  name: lpcs
spec:
  postgresVersion: 14
  openshift: true
  instances:
    - name: instance1
      replicas: 2
      minAvailable: 1
      resources:
        limits:
          cpu: 1000m
          memory: 1Gi
        requests:
          cpu: 1000m
          memory: 1Gi
      dataVolumeClaimSpec:
        accessModes:
        - "ReadWriteOnce"
        resources:
          requests:
            storage: 10Gi
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - weight: 1
              podAffinityTerm:
                topologyKey: topology.kubernetes.io/zone
                labelSelector:
                  matchLabels:
                    postgres-operator.crunchydata.com/cluster: lpcs
                    postgres-operator.crunchydata.com/instance-set: instance1
  backups:
    pgbackrest:
      configuration:
      - secret:
          name: ibm-cos-creds
      global:
        log-level-console: info
        repo1-retention-full: "10"
        repo1-retention-full-type: time
        repo2-path: "/ibas/dev-lpcs/lpcs/repo2"
        repo2-retention-full: "10"
        repo2-retention-full-type: time
      repos:
      - name: repo1
        schedules:
          full: "30 3 * * *"
        volume:
          volumeClaimSpec:
            accessModes:
            - "ReadWriteOnce"
            resources:
              requests:
                storage: 10Gi
      - name: repo2
        schedules:
          full: 0 3 * * *
        s3:
          bucket: bucket-db
          endpoint: https://s3.eu-de.cloud-object-storage.appdomain.cloud
          region: eu-de

Failed to backup to S3

➜  oc pgo backup lpcs --repoName=repo2 --options="--type=full"
postgresclusters/lpcs backup initiated
➜  oc get po
NAME                              READY   STATUS      RESTARTS   AGE
lpcs-backup-5257-2tp6l            0/1     Completed   0          2m46s
lpcs-backup-7j7x-bmrq7            0/1     Error       0          21s
lpcs-backup-7j7x-t7l4j            0/1     Error       0          48s
lpcs-instance1-5vv4-0             5/5     Running     0          3m14s
lpcs-instance1-pzxn-0             5/5     Running     0          3m14s
lpcs-pgbouncer-698d4b9979-fhzpc   2/2     Running     0          3m14s
lpcs-pgbouncer-698d4b9979-wnlcm   2/2     Running     0          3m14s
lpcs-repo-host-0                  2/2     Running     0          3m14s
➜  oc logs lpcs-backup-7j7x-t7l4j
2026-04-11 16:59:00.715 P00   INFO: backup command begin 2.54.1: --exec-id=1-7064a332 --log-level-console=info --log-level-file=off --pg1-host=lpcs-instance1-5vv4-0.lpcs-pods.dev-lpcs.svc.cluster.local. --pg2-host=lpcs-instance1-pzxn-0.lpcs-pods.dev-lpcs.svc.cluster.local. --pg1-host-ca-file=/etc/pgbackrest/conf.d/~postgres-operator/tls-ca.crt --pg2-host-ca-file=/etc/pgbackrest/conf.d/~postgres-operator/tls-ca.crt --pg1-host-cert-file=/etc/pgbackrest/conf.d/~postgres-operator/client-tls.crt --pg2-host-cert-file=/etc/pgbackrest/conf.d/~postgres-operator/client-tls.crt --pg1-host-key-file=/etc/pgbackrest/conf.d/~postgres-operator/client-tls.key --pg2-host-key-file=/etc/pgbackrest/conf.d/~postgres-operator/client-tls.key --pg1-host-type=tls --pg2-host-type=tls --pg1-path=/pgdata/pg14 --pg2-path=/pgdata/pg14 --pg1-port=5432 --pg2-port=5432 --pg1-socket-path=/tmp/postgres --pg2-socket-path=/tmp/postgres --repo=2 --repo2-path=/ibas/dev-lpcs/lpcs/repo2 --repo1-retention-full=10 --repo2-retention-full=10 --repo1-retention-full-type=time --repo2-retention-full-type=time --repo2-s3-bucket=bucket-db --repo2-s3-endpoint=https://s3.eu-de.cloud-object-storage.appdomain.cloud --repo2-s3-key=<redacted> --repo2-s3-key-secret=<redacted> --repo2-s3-region=eu-de --repo2-type=s3 --stanza=db --type=full
2026-04-11 16:59:00.835 P00   INFO: execute non-exclusive backup start: backup begins after the next regular checkpoint completes
2026-04-11 16:59:15.281 P00   INFO: backup start archive = 000000010000000000000007, lsn = 0/7000028
2026-04-11 16:59:15.281 P00   INFO: check archive for prior segment 000000010000000000000006
2026-04-11 16:59:16.102 P00  ERROR: [032]: local-1 process terminated unexpectedly [32]: ERROR: [032]: key '2' is not valid for 'repo' option
2026-04-11 16:59:16.102 P00   INFO: backup command end: aborted with exception [032]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions