4.3 KiB
		
	
	
	
	
	
			
		
		
	
	
			4.3 KiB
		
	
	
	
	
	
Postgres Operator
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
- Supports PostgreSQL 16, starting from 11+
 - Streaming replication cluster via Patroni
 - Point-In-Time-Recovery with pg_basebackup / WAL-E via Spilo
 - Preload libraries: bg_mon, pg_stat_statements, pgextwlist, pg_auth_mon
 - Incl. popular Postgres extensions such as decoderbufs, hypopg, pg_cron, pg_partman, pg_stat_kcache, pgq, pgvector, plpgsql_check, postgis, set_user and timescaledb
 
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.13.0* | 12 → 16 | 1.27+ | 1.22.5 | 
| v1.12.2 | 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 | 
| v1.8.2 | 9.5 → 14 | 1.20 → 1.24 | 1.17.4 | 
*not yet released
Getting started
For a quick first impression follow the instructions of this tutorial.
Supported setups of Postgres and Applications
Documentation
There is a browser-friendly version of this documentation at postgres-operator.readthedocs.io

