Upgrade from 2026.8 to 2026.9.
Role: Infrastructure engineer
Prerequisites
- Administrative access to the Kubernetes cluster (
kubectl,helm). - Required tools:
helm(latest version recommended)kubectledbctl1.8.1or later — see the edbctl compatibility matrix.
Upgrade 2026.8 → 2026.9
HM and the operator follow independent version schemes, and the 2026.8 → 2026.9 upgrade needs operator change: the 2026.9 release requires operator version 2.2 or later. The new pgd scenario depends on it too — earlier operator versions don't recognize pgd and silently drop it from your manifest rather than reporting an error.
Complete the steps in the order given:
- Upgrade the operator to
2.2or later. - Review and update your installation scenarios.
- Update
spec.versionand trigger the upgrade.
Important
The order matters. Operator versions earlier than 2.2 don't recognize pgd and silently drop it — you get no error, so a manifest that looks applied may not list it. Add scenarios only after the operator is on 2.2 or later, and before you bump spec.version, then read the resource back with kubectl get hybridcontrolplane <name> -o jsonpath='{.spec.scenarios}' to confirm it persisted.
Create new secrets
Before upgrading, create the new secrets required for this release:
edbctl hm create-install-secrets --version v2026.9.0For more CLI options, see edbctl hybrid-manager. To customize your component's secrets, see Customizing secrets.
Upgrade the operator
Red Hat OpenShift
On RHOS, upgrade the operator through OperatorHub (OLM) by switching the subscription channel to stable. See Upgrade the operator on Red Hat OpenShift. Do not use edbctl hm upgrade-operator on RHOS.
The commands below use edb-hcp-operator-system — use the namespace where your operator is actually installed. If you migrated from the bootstrap method, the conversion transfers Helm ownership onto edbpgai-bootstrap, so use that namespace instead.
Upgrade the edb-hcp-operator Helm chart using edbctl:
edbctl hm upgrade-operator \ --release-name edb-hcp-operator \ --namespace edb-hcp-operator-system \ --registry-uri docker.enterprisedb.com/pgai-platform \ --registry-username pgai-platform \ --registry-password <password>
Or upgrade directly with Helm:
Note
<OPERATOR_VERSION> refers to the operator chart version, which follows its own 2.x versioning scheme and is separate from the HM version (2026.9). The pgd scenario requires operator version 2.2 or later.
Create the values file:
cat <<EOF > edb-hcp-operator.values.yaml controllerManager: manager: image: repository: docker.enterprisedb.com/pgai-platform/edb-hcp-operator/manager tag: <OPERATOR_VERSION> imagePullSecrets: - name: edb-cred EOF
Run the upgrade:
helm upgrade --install \ --version <OPERATOR_VERSION> \ --values edb-hcp-operator.values.yaml \ -n edb-hcp-operator-system \ edb-hcp-operator enterprisedb-edbpgai/edb-hcp-operator
Review and update your installation scenarios
Two installation scenario changes in 2026.9. Check your HybridControlPlane manifest against both before you continue.
List every scenario explicitly
Operator 2.2 — which 2026.9 requires — no longer fills in a default set. Earlier operator versions installed core, dbaas, ai, analytics, migration, and marketplace when spec.scenarios was omitted; operator 2.2 or later installs only core.
Important
If your manifest relies on the old default, list the scenarios you want before you upgrade the operator. Applying a manifest that omits spec.scenarios against operator 2.2 or later removes the components of every scenario except core, along with the data they hold.
Update spec.scenarios to include pgd
From Innovation Release 2026.9 onwards, pgd — which provisions and manages Distributed High Availability (DHA) clusters — is controlled by its own installation scenario, separated from dbaas.
If you use DHA clusters, you must explicitly add pgd to your spec.scenarios list before upgrading to Innovation Release 2026.9.
Important
Add pgd to every location that hosts, or will host, DHA clusters — including secondary locations. If you don't add pgd to a location's scenario list, its existing DHA clusters will be deleted (and new ones will not be allowed to be created).
Upgrade Hybrid Manager
Update
spec.versiontov2026.9.0in yourHybridControlPlanemanifest and apply it:kubectl apply -f hybridmanager.yamlTrigger the upgrade:
kubectl annotate hybridcontrolplane edbpgai --overwrite edbpgai.com/ready-for-upgrade=true
Monitor progress:
kubectl get hybridcontrolplane edbpgai -w
Upgrading multi-DC deployments
In a multi-DC deployment, all locations must run the same HM version. Upgrade the primary location first, then upgrade each data-only secondary location to the same version immediately after. For the full procedure, see Upgrading a multi-DC deployment.
Troubleshooting upgrade job failures
The upgrade operator creates and manages upgrade jobs automatically. If an upgrade job fails and doesn't reach a Complete or Succeeded state, the operator pauses and retries. It doesn't proceed to apply updated manifests until the job succeeds.
Note
The operator owns and manages the upgrade job exclusively. Don't create upgrade jobs manually, as doing so can conflict with the operator's reconciliation loop.
To investigate a failed upgrade job:
Check the status of upgrade jobs:
kubectl get jobs -n edbpgai-bootstrap -l edbpgai.edb.com/hm-upgrader=true
Check the logs for the failed job:
kubectl logs job/<job-name> -n edbpgai-bootstrap
Replace
<job-name>with the name of the failed job from the previous command.Check the
HybridControlPlanestatus for upgrade-related events:kubectl describe hybridcontrolplane edbpgai
If the issue persists after the operator retries, contact EDB support with the job logs.