instruction: How do you deploy highly available databases on Kubernetes?
output: GitHub - zalando/postgres-operator: Postgres operator creates and manages PostgreSQL clusters running in Kubernetes Skip to content Navigation Menu Toggle navigation Sign in Appearance settings Product GitHub Copilot Write better code with AI GitHub Spark New Build and deploy intelligent apps GitHub Models New Manage and compare prompts GitHub Advanced Security Find and fix vulnerabilities Actions Automate any workflow Codespaces Instant dev environments Issues Plan and track work Code Review Manage code changes Discussions Collaborate outside of code Code Search Find more, search less Explore Why GitHub All features Documentation GitHub Skills Blog Solutions By company size Enterprises Small and medium teams Startups Nonprofits By use case DevSecOps DevOps CI/CD View all use cases By industry Healthcare Financial services Manufacturing Government View all industries View all solutions Resources Topics AI DevOps Security Software Development View all Explore Learning Pathways Events &amp; Webinars Ebooks &amp; Whitepapers Customer Stories Partners Executive Insights Open Source GitHub Sponsors Fund open source developers The ReadME Project GitHub community articles Repositories Topics Trending Collections Enterprise Enterprise platform AI-powered developer platform Available add-ons GitHub Advanced Security Enterprise-grade security features Copilot for business Enterprise-grade AI features Premium Support Enterprise-grade 24/7 support Pricing Search or jump to... Search code, repositories, users, issues, pull requests... --> Search Clear Search syntax tips Provide feedback --> We read every piece of feedback, and take your input very seriously. Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly --> Name Query To see all available qualifiers, see our documentation . Cancel Create saved search Sign in Sign up Appearance settings Resetting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} zalando / postgres-operator Public Notifications You must be signed in to change notification settings Fork 1k Star 4.8k Postgres operator creates and manages PostgreSQL clusters running in Kubernetes postgres-operator.readthedocs.io/ License MIT license 4.8k stars 1k forks Branches Tags Activity Star Notifications You must be signed in to change notification settings Code Issues 595 Pull requests 85 Discussions Actions Security Uh oh! There was an error while loading. Please reload this page . Insights Additional navigation options Code Issues Pull requests Discussions Actions Security Insights zalando/postgres-operator master Branches Tags Go to file Code Open more actions menu Folders and files Name Name Last commit message Last commit date Latest commit History 1,420 Commits .github .github charts charts cmd cmd docker docker docs docs e2e e2e hack hack kubectl-pg kubectl-pg logical-backup logical-backup manifests manifests mocks mocks pkg pkg ui ui .flake8 .flake8 .gitignore .gitignore .golangci.yml .golangci.yml .zappr.yaml .zappr.yaml CODEOWNERS CODEOWNERS CONTRIBUTING.md CONTRIBUTING.md LICENSE LICENSE MAINTAINERS MAINTAINERS Makefile Makefile README.md README.md SECURITY.md SECURITY.md build-ci.sh build-ci.sh delivery.yaml delivery.yaml go.mod go.mod go.sum go.sum mkdocs.yml mkdocs.yml run_operator_locally.sh run_operator_locally.sh View all files Repository files navigation README Code of conduct Contributing MIT license Security 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 17, starting from 13+ 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 &amp; 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 Documentation There is a browser-friendly version of this documentation at postgres-operator.readthedocs.io How it works Installation The Postgres experience on K8s The Postgres Operator UI DBA options - from RBAC to backup Build, debug and extend the operator Configuration options Postgres manifest reference Command-line options and environment variables About Postgres operator creates and manages PostgreSQL clusters running in Kubernetes postgres-operator.readthedocs.io/ Topics kubernetes golang postgres cluster postgresql database-as-a-service operator data-infrastructure managed-services postgres-operator Resources Readme License MIT license Code of conduct Code of conduct Contributing Contributing Security policy Security policy Uh oh! There was an error while loading. Please reload this page . Activity Custom properties Stars 4.8k stars Watchers 58 watching Forks 1k forks Report repository Releases 25 Hopeful Amoeba Latest Dec 23, 2024 + 24 releases Packages 0 &nbsp; &nbsp; &nbsp; Uh oh! There was an error while loading. Please reload this page . Uh oh! There was an error while loading. Please reload this page . Contributors 203 Uh oh! There was an error while loading. Please reload this page . + 189 contributors Languages Go 76.5% Python 13.5% Pug 6.0% Shell 1.9% JavaScript 0.7% HTML 0.3% Other 1.1% Footer &copy; 2025 GitHub,&nbsp;Inc. Footer navigation Terms Privacy Security Status Docs Contact Manage cookies Do not share my personal information You can’t perform that action at this time.