Postgres operator creates and manages PostgreSQL clusters running in Kubernetes
Go to file
Allen Conlon ab740cf5e5
feat: add publish of helm chart to ghcr.io (#2853)
Signed-off-by: Allen Conlon <software@conlon.dev>
Co-authored-by: Felix Kunde <felix-kunde@gmx.de>
2026-06-11 09:55:31 +02:00
.github feat: add publish of helm chart to ghcr.io (#2853) 2026-06-11 09:55:31 +02:00
charts Provide liveness probe for CRD and config (#3089) 2026-06-02 17:31:42 +02:00
cmd
docker
docs fix: set password encryption default to scram-sha-256 (#2962) 2026-06-04 20:55:04 +02:00
e2e Add cluster_labels and annotations to logical backup CronJob and Jobs (#3085) 2026-06-10 18:18:54 +02:00
hack Wasm target updates (#3068) 2026-04-17 08:59:08 +02:00
kubectl-pg
logical-backup Remove references to registry.opensource.zalan.do (#3092) 2026-05-08 09:16:10 +02:00
manifests Provide liveness probe for CRD and config (#3089) 2026-06-02 17:31:42 +02:00
mocks
pkg Add cluster_labels and annotations to logical backup CronJob and Jobs (#3085) 2026-06-10 18:18:54 +02:00
pooler build multi-arch pooler image (#3077) 2026-04-28 13:34:36 +02:00
ui ui: honor AWS_ENDPOINT in read_basebackups S3 list/get (#3079) 2026-04-23 17:47:51 +02:00
.flake8
.gitignore
.golangci.yml
.zappr.yaml
CODEOWNERS
CONTRIBUTING.md
LICENSE
MAINTAINERS
Makefile build multi-arch pooler image (#3077) 2026-04-28 13:34:36 +02:00
README.md
SECURITY.md
build-ci.sh
delivery.yaml Remove references to registry.opensource.zalan.do (#3092) 2026-05-08 09:16:10 +02:00
go.mod Bump github.com/lib/pq from v1.11.2 to v1.12.3 (#3042) 2026-06-10 11:32:13 +02:00
go.sum Bump github.com/lib/pq from v1.11.2 to v1.12.3 (#3042) 2026-06-10 11:32:13 +02:00
mkdocs.yml
run_operator_locally.sh

README.md

Postgres Operator

Tests E2E Tests Coverage Status

The Postgres Operator delivers an easy to run highly-available PostgreSQL clusters on Kubernetes (K8s) powered by Patroni. It is configured only through Postgres manifests (CRDs) to ease integration into automated CI/CD pipelines with no access to Kubernetes API directly, promoting infrastructure as code vs manual operations.

Operator features

  • Rolling updates on Postgres cluster changes, incl. quick minor version updates
  • Live volume resize without pod restarts (AWS EBS, PVC)
  • Database connection pooling with PGBouncer
  • Support fast in place major version upgrade. Supports global upgrade of all clusters.
  • Pod protection during bootstrap phase and configurable maintenance windows
  • Restore and cloning Postgres clusters on AWS, GCS and Azure
  • Additionally logical backups to S3 or GCS bucket can be configured
  • Standby cluster from S3 or GCS WAL archive
  • Configurable for non-cloud environments
  • Basic credential and user management on K8s, eases application deployments
  • Support for custom TLS certificates
  • UI to create and edit Postgres cluster manifests
  • Compatible with OpenShift

PostgreSQL features

The Postgres Operator has been developed at Zalando and is being used in production for over five years.

Supported Postgres & K8s versions

Release Postgres versions K8s versions Golang
v1.15.1 13 → 17 1.27+ 1.25.3
v1.14.0 13 → 17 1.27+ 1.23.4
v1.13.0 12 → 16 1.27+ 1.22.5
v1.12.0 11 → 16 1.27+ 1.22.3
v1.11.0 11 → 16 1.27+ 1.21.7
v1.10.1 10 → 15 1.21+ 1.19.8

Getting started

For a quick first impression follow the instructions of this tutorial.

Supported setups of Postgres and Applications

Features Features

Documentation

There is a browser-friendly version of this documentation at postgres-operator.readthedocs.io