Postgres operator creates and manages PostgreSQL clusters running in Kubernetes
Go to file
Remi Rampin 8c2a290a12
DOC: Minikube has many drivers now, incl. Docker (#2949)
Co-authored-by: Felix Kunde <felix-kunde@gmx.de>
2025-10-14 13:50:11 +02:00
.github upgrade Go from 1.23.4 to 1.25.0 (#2945) 2025-08-19 14:40:39 +02:00
charts [UI] Remove deprecated WAL-E library and enable WAL-G backup support in UI backend (#2915) 2025-05-20 16:31:26 +02:00
cmd Add abitility to set QPS and Burst limits for api client (#2667) 2024-12-23 08:53:27 +01:00
docker upgrade Go from 1.23.4 to 1.25.0 (#2945) 2025-08-19 14:40:39 +02:00
docs DOC: Minikube has many drivers now, incl. Docker (#2949) 2025-10-14 13:50:11 +02:00
e2e fix creating secrets for rotation users (#2863) 2025-02-14 09:44:09 +01:00
hack update go and dependencies (#2554) 2024-02-23 13:58:11 +01:00
kubectl-pg upgrade Go from 1.23.4 to 1.25.0 (#2945) 2025-08-19 14:40:39 +02:00
logical-backup logical-backup:gcs_upload: try to use gcp metadata if LOGICAL_GOOGLE_APPLICATION_CREDENTIALS is not set (#2837) 2025-09-17 16:01:28 +02:00
manifests extend RBAC in prepatation to switch to configmap-based cluster management (#2961) 2025-10-14 10:59:43 +02:00
mocks Support EBS gp2 to gp3 migration on sync for below 1tb volumes (#1242) 2020-12-11 15:52:32 +01:00
pkg Replace `golang.org/x/exp` with stdlib (#2857) 2025-10-14 11:59:48 +02:00
ui Bump requests from 2.32.2 to 2.32.4 in /ui (#2922) 2025-09-17 16:01:02 +02:00
.flake8 Implement runner for e2e tests (#548) 2019-06-05 17:07:27 +02:00
.gitignore Add support for EBS CSI Driver (#2677) 2024-12-19 12:32:09 +01:00
.golangci.yml add .golangci.yml (#422) 2018-11-27 12:00:15 +01:00
.zappr.yaml Min 2 zalando approvers. (#1338) 2021-01-29 11:12:08 +01:00
CODEOWNERS chore: add "macedigital" as codeowner & maintainer (#2511) 2024-01-11 18:51:22 +01:00
CONTRIBUTING.md Update docs for v1.2 (#609) 2019-07-11 17:19:27 +02:00
LICENSE update go and dependencies (#2554) 2024-02-23 13:58:11 +01:00
MAINTAINERS chore: add "macedigital" as codeowner & maintainer (#2511) 2024-01-11 18:51:22 +01:00
Makefile upgrade Go from 1.23.4 to 1.25.0 (#2945) 2025-08-19 14:40:39 +02:00
README.md bump to go 1.23.4 (#2824) 2024-12-23 09:54:51 +01:00
SECURITY.md docs(general): Adding Security.md (#88) 2017-09-04 14:33:30 +02:00
build-ci.sh reflect change in github url (#496) 2019-02-25 11:26:55 +01:00
delivery.yaml chore: simplify delivery-yaml for building operator (#2673) 2024-06-26 18:39:20 +02:00
go.mod Replace `golang.org/x/exp` with stdlib (#2857) 2025-10-14 11:59:48 +02:00
go.sum Replace `golang.org/x/exp` with stdlib (#2857) 2025-10-14 11:59:48 +02:00
mkdocs.yml Initial commit for new 1.6 release with Postgres 13 support. (#1257) 2020-12-17 15:00:29 +01:00
run_operator_locally.sh run_operator_locally.sh: more retrying, debuggability (#2218) 2023-04-19 12:05:36 +02:00

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.
  • 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.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
v1.9.0 10 → 15 1.21+ 1.18.9

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