Role: Infrastructure engineer / OpenShift administrator
The EDB Postgres AI operator is a Kubernetes operator that manages the full lifecycle of Hybrid Manager (HM) on your cluster. It defines and reconciles the HybridControlPlane custom resource, which controls all HM components. Operator 2.0.0 is a prerequisite for both fresh installations of HM 1.4.0 and upgrades to HM 1.4.0 or later (including subsequent LTS and Innovation Releases). If your operator is still on the innovation or lts-v1.3 channel, you must complete this upgrade before proceeding with any HM 1.4.0 install or upgrade.
Starting with 2.0.0, the EDB Postgres AI operator is decoupled from the HM release cadence: a single 2.x operator covers the HM 1.4 LTS line and future Innovation Releases. As part of this change, the operator is published to a single stable channel that replaces the previous per-lineage channels (innovation for 2026.x.x, lts-v1.3 for 1.3.x).
On Red Hat OpenShift (RHOS), the operator is installed and upgraded through OperatorHub (OLM). This page describes how to move an operator that was installed from the innovation channel (2026.x.x) or the lts-v1.3 channel (1.3.x) to 2.0.0 on the stable channel. Although 2.0.0 is a lower version number than the 2026.x.x Innovation versions, selecting the stable channel correctly presents it as the upgrade.
Tip
The operator upgrade doesn't require a maintenance window. Existing HybridControlPlane resources and all managed Postgres clusters continue running throughout the upgrade.
Prerequisites
- The EDB Postgres AI operator already installed on RHOS from OperatorHub, on either the
innovationchannel (a2026.x.xversion) or thelts-v1.3channel (a1.3.xversion). - Permissions to manage the operator subscription (typically
cluster-admin).
Upgrading the operator (switching to the stable channel)
This is the recommended path. You change the operator subscription's channel to stable; OLM detects 2.0.0 as the upgrade target and installs it in place, keeping the existing HybridControlPlane and its workloads running.
- Go to Operators → Installed Operators and select EDB Postgres AI.
- Open the Subscription tab and click the channel under Update channel.
- Select
stable. The dialog shows the resulting version as2.0.0in place of the current2026.x.x/1.3.xversion. Click Save. - OLM generates an InstallPlan for
2.0.0:- Automatic approval — the upgrade applies on its own.
- Manual approval — the operator shows Upgrade available; open the pending InstallPlan, Preview it (confirm it targets
edb-hcp-operator.v2.0.0), and Approve it.
- The operator rolls to
2.0.0and continues reconciling the existingHybridControlPlane.
The same steps with oc (operator installed in the edb-hcp-operator-system namespace):
# 1. Switch the subscription channel to stable oc patch subscription edb-hcp-operator -n edb-hcp-operator-system \ --type merge -p '{"spec":{"channel":"stable"}}' # 2. OLM creates a new InstallPlan targeting edb-hcp-operator.v2.0.0 oc get installplan -n edb-hcp-operator-system # 3. If the subscription uses Manual approval, approve the new InstallPlan oc patch installplan <install-plan-name> -n edb-hcp-operator-system \ --type merge -p '{"spec":{"approved":true}}'
Verifying the upgrade
- Go to Operators → Installed Operators and select EDB Postgres AI.
- Open the Subscription tab.
- Confirm the following:
- Update channel shows
stable - Installed version shows
edb-hcp-operator.v2.0.0 - Upgrade status shows Up to date
- Update channel shows
oc get subscription edb-hcp-operator -n edb-hcp-operator-system \ -o jsonpath='channel={.spec.channel}{"\n"}installed={.status.installedCSV}{"\n"}state={.status.state}{"\n"}'
A successful upgrade shows channel=stable, installed=edb-hcp-operator.v2.0.0, and state=AtLatestKnown. The edb-hcp-operator.v2.0.0 ClusterServiceVersion is in the Succeeded phase (with Replaces pointing at your previous version), and the operator's controller-manager pod runs the 2.0.0 image.
Once the operator is on 2.0.0, you're ready to upgrade the HM deployment itself — either to HM 1.4.x (LTS) or to the next Innovation Release. See Upgrading HM for the upgrade path that applies to you.
Fallback: reinstalling on the stable channel
If the channel switch doesn't surface the upgrade, you can remove the operator and reinstall it on stable. This removes the running operator only — the HybridControlPlane and its workloads keep running, and the new operator adopts the existing resources.
# Record the currently installed CSV oc get subscription edb-hcp-operator -n edb-hcp-operator-system -o jsonpath='{.status.installedCSV}' # Remove the subscription (stops channel tracking) and the CSV (removes the operator) oc delete subscription edb-hcp-operator -n edb-hcp-operator-system oc delete csv <installed-csv-from-above> -n edb-hcp-operator-system # Recreate the subscription on the stable channel (Manual approval shown; use Automatic to apply immediately) oc apply -f - <<'EOF' apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: edb-hcp-operator namespace: edb-hcp-operator-system spec: channel: stable installPlanApproval: Manual name: edb-hcp-operator source: certified-operators sourceNamespace: openshift-marketplace EOF # Approve the InstallPlan OLM generates for 2.0.0 oc get installplan -n edb-hcp-operator-system oc patch installplan <install-plan-name> -n edb-hcp-operator-system \ --type merge -p '{"spec":{"approved":true}}'
You can do the same from the web console: uninstall the operator, then install it again from OperatorHub on the stable channel — rather than editing the channel on the installed operator.
Note
On RHOS, manage the operator through OperatorHub (OLM), as described above. Don't use edbctl hm upgrade-operator for this: it installs the operator with Helm, so the operator won't be tracked by OLM and won't appear under Installed Operators in the OperatorHub UI.
Once the operator is on 2.0.0, you're ready to upgrade the HM deployment itself — either to HM 1.4.x (LTS) or to the next Innovation Release. See Upgrading HM for the upgrade path that applies to you.