← Back to all sparks
P

Postgres Operator

DEVOPS
Velocity6.3

Operator for running highly available PostgreSQL clusters on Kubernetes

Two patches into v2, the operator is still cleaning up what the major release left behind.

kubernetespostgresmajor-migrationgitopsoperator
Current state
Zalando's Postgres Operator shipped v2 at the end of July, bringing Postgres 18 support, TopologySpreadConstraints, NodePort services, IRSA on EKS and an in-repo ARM pooler image, with a documented migration path. The tag a day earlier had to be abandoned over a CRD type mismatch that broke GitOps pipelines. v2.0.2 is the second cleanup pass, fixing sidecar schema validation, skipping redundant ALTER ROLE when the stored SCRAM verifier already matches, and correcting a v2 go module path that was missed during the major release.
Where it's heading
The pattern since v2 is corrective rather than additive: each patch closes a defect introduced or overlooked in the major. The helm chart gaining a Recreate deployment strategy specifically to smooth v1.x to v2.x upgrades shows migration friction is still the active concern. Library consumers get a late breaking change in a patch release, since the go module path had to be corrected after the fact.
Prediction
Expect further 2.0.x patches focused on migration edge cases before any new feature work lands. The entries do not indicate when the v1.x line stops receiving fixes.

Recent moves

  1. 26d ago

    v2.0.2 fixes the missed v2 go module path and SCRAM churn

    A bugfix pass over v2.0 that also lands a breaking change out of band: the go module path never got its v2 suffix during the major release, so anyone importing the operator as a library has to update their code. The rest is migration polish — sidecar schema validation, skipping ALTER ROLE when the SCRAM verifier already matches, and a Recreate strategy in the helm chart to smooth v1.x to v2.x upgrades.

    View source ↗
  2. 1mo ago

    v2 lands: Postgres 18, EKS IRSA, ARM pooler, spread constraints

    ⚡ SPARK

    The release the 1.x codename line had been building toward — a breaking major with a documented migration path, bundling Postgres 18 support with the platform features operators had been working around. It also functions as the real v2.0.0, since the tag a day earlier shipped with a CRD defect.

    View source ↗
  3. 1mo ago

    v2.0.0 pulled over a GitOps-breaking CRD defect

    Effectively a withdrawal notice: the v2.0.0 tag shipped an OperatorConfiguration CRD with a type mismatch that breaks GitOps pipelines, and the notes redirect readers to v2.0.1. Treat v2.0.1 as the real v2 release; this entry carries the image list and contributor credits but nothing installable.

    View source ↗
  4. 9mo ago

    1.15.1 bugfix release repairs the ghcr build pipeline

    A patch to the 1.15 line fixing the ghcr build pipeline, sidecar cascading failures on missing images, and a password-override risk when secret syncing fails midway. Its existence is explained by 1.15.0 having shipped without UI and logical-backup images.

    View source ↗
  5. 9mo ago

    1.15.0 adds a bootstrap-phase PDB — but ships without images

    A second PodDisruptionBudget to protect pods during bootstrap and support for Patroni's bootstrap_labels are the substance, alongside better service diffing when switching to configmap-based Kubernetes state. The release notes open by telling users to skip straight to 1.15.1 because UI and logical-backup images are missing — the same release-engineering failure that would recur at v2.0.0.

    View source ↗
  6. 1y ago

    Postgres 17 support and fleet-scale API rate controls

    Postgres 17 support arrives on the usual annual cadence, and configurable QPS and burst limits for the API client target operators running large fleets. Sidecar command support and new EBS CSI driver handling continue the pattern of widening what can be customized per cluster.

    View source ↗