Download Latest Version Postgres Operator v2.0.1 source code.zip (4.4 MB)
Email in envelope

Get an email when there's a new version of Postgres Operator

Home / v2.0.0
Name Modified Size InfoDownloads / Week
Parent folder
Postgres Operator v2 source code.tar.gz 2026-07-27 4.1 MB
Postgres Operator v2 source code.zip 2026-07-27 4.3 MB
README.md 2026-07-27 4.6 kB
Totals: 3 Items   8.5 MB 0

This is a new major release. Please, read the instructions how to migrate to v2.0. Thanks to everyone who contributed with PRs, feedback, raising issues or providing ideas.

New features

  • Support for Postgres 18 (#3035)
  • Support for NodePort service type (#2968, [#994])
  • TopologySpreadConstraint support (#2530)
  • ARM-compatible pooler image is now part of the repo (#3077)
  • Configurable LivenessProbe (#3089, [#1972])
  • Added support for IRSA for running the operator on EKS (#3128, [#3135])
  • Maintenance windows can be globally configured and also disabled (#3038, [#3040], [#3074])
  • Support for EnvFrom section in cluster manifest (#3118)
  • New annotation to ignore globally configured resource thresholds (#3030)
  • New primary slot name option in standby section (#3033)
  • New wasm build target (#3068)
  • [logical-backup] Configurable job history limits and TTL for logical backups (#3091, [#3111])

Enhancements

  • CRDs manifests are now generated from Go structs (#3004, [#3007], [#3031], [#3102], [#3117])
  • Modernized code generation and updated Makefile (#3003, [#3130])
  • Options standby_host can be combined with s3_wal_path to help with cross infra migrations (#3033)
  • Preserve sync quorum in primary PDB without master selector (#3119)
  • Pooler users are sourced from a new secret (#3077, [#3093])
  • Avoid rotating pods for PGVERSION change outside of maintenance window (#3065)
  • Extend validation pattern of allowedSourceRanges to allow for IPv6 ranges (#2985, [#3082])
  • Use UpdateStatus instead of patch to make the status sub resource easier to extend in the future (#3005)
  • Remove hardcoded Postgres version map from go code for more flexible use with newer releases (#3043)
  • Switch to client-go informers for pod and node events (#3080)
  • Add unit tests for validate() and NewFromMap() functions (#3068)
  • Pass pod security context, cluster_labels and annotations also passed to logical backup CronJob and Jobs (#2117 ,#3085)
  • Update to Go 1.26.4 and bump dependencies, lib/pq, aws-sdk-go-v2 etc. (#3108)
  • Use docker buildx commands in Makefiles (#3137)
  • Update versions of GitHub action runners (#3108, [#3134])
  • [UI] honor AWS_ENDPOINT in read_basebackups S3 list/get (#3079)
  • [helm] Extra CLI args such as kubeqps or kubeburst can passed via values of helm chart (#2892)
  • [helm] Removed cpu limit config (#2893)
  • [helm] Publish helm charts to ghcr.io (#2853)

Bugfixes

  • Fix rolling update deadlock when single pods are stuck in non-running state (#3051)
  • Use maxUnavailable for the critical-op PDB to stop idle alert noise (#3141)
  • Avoid switchover scheduling when default maintenance windows is nil (#3058)
  • Fix deletion timestamp setting when finalizers are used (#3015)
  • Do not update secrets of standby clusters (#3044, [#3088])
  • Set infrastructure roles also if one fails (#3045)
  • Detect platform in Dockerfile to avoid build issues on ARM (#3108)
  • Removed e2e test image fallback and make sure to always test against the PR build (#3037)
  • [logical-backup] Wait for PG connectivity before running backup (#3069)
  • [UI] Fix JSON value of OPERATOR_UI_CONFIG (#3070)

Breaking changes

  • Dropped support for Postgres 13 and helm chart 1.10.1 (#3035, [#3134])
  • kubernetes_use_configmaps is now true by default because endpoints will disappear (#3102, [#3116])
  • Password encryptions defaults to scram-sha-256 (forces a rolling update) (#2962)
  • Do not set aws-load-balancer-connection-idle-timeout by default (#3054)
  • Dropped GP2->GP3 volume migration (options enable_ebs_gp3_migration and enable_ebs_gp3_migration_max_size) (#3142)
  • Dropped deprecated manifest fields useLoadBalancer, replicaLoadBalancer and pod_priority_class_name and init_containers (#3106)
  • Dropped kubectl-pg plugin (#3107)
  • Removed all references to registry.opensource.zalan.do (#3092)

Postgres Operator: ghcr.io/zalando/postgres-operator:v2.0.0 Pooler: UI: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.0 UI: ghcr.io/zalando/postgres-operator-ui:v2.0.0 Logical Backup: ghcr.io/zalando/postgres-operator/logical-backup:v2.0.0

Default Spilo image: ghcr.io/zalando/spilo-17:4.1-p2

Thanks to our contributors: @FxKu, @mikkeloscar, @idanovinda, @hughcapet, @tcondeixa, @jopadi, @raphaeltorquat0, @lucasl0st, @laiminhtrung1997, @thoro, @annielzy, @unkhz @jorsol, @pierreozoux, @kadaffy, @k0da, @chobostar, @a1994sc, @aslafy-z, @zak905, @addreas, @SAY-5, @alimelgohary, @dandeandean, @exciler, @bramhanandlingala, @yajo, @a-thomas-22, @davidspek, @sdudoladov, @nctram

Source: README.md, updated 2026-07-27