Skip to content

Postgres operator creates and manages PostgreSQL clusters running in Kubernetes

License

Notifications You must be signed in to change notification settings

connorwang/postgres-operator

This branch is 185 commits behind zalando/postgres-operator:master.

Folders and files

NameName
Last commit message
Last commit date
Oct 11, 2022
Feb 15, 2023
Mar 24, 2022
Jan 5, 2023
Feb 10, 2023
Jan 27, 2023
Jan 12, 2023
Feb 10, 2023
Jan 30, 2023
Dec 11, 2020
Feb 23, 2023
Feb 15, 2023
Jun 5, 2019
Jan 4, 2023
Nov 27, 2018
Jan 29, 2021
Oct 12, 2022
Jul 11, 2019
Jan 6, 2022
Oct 12, 2022
Jan 10, 2023
Jan 4, 2023
Sep 4, 2017
Feb 25, 2019
Jan 10, 2023
Feb 13, 2023
Feb 13, 2023
Dec 17, 2020
Nov 28, 2019

Repository files navigation

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
  • Support for AWS EBS gp2 to gp3 migration, supporting iops and throughput configuration
  • Compatible with OpenShift

PostgreSQL features

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

Using Spilo 12 images or lower

If you are already using the Postgres operator in older version with a Spilo 12 Docker image you need to be aware of the changes for the backup path. We introduce the major version into the backup path to smoothen the major version upgrade that is now supported.

The new operator configuration can set a compatibility flag enable_spilo_wal_path_compat to make Spilo look for wal segments in the current path but also old format paths. This comes at potential performance costs and should be disabled after a few days.

The newest Spilo image is: ghcr.io/zalando/spilo-15:2.1-p9

The last Spilo 12 image is: registry.opensource.zalan.do/acid/spilo-12:1.6-p5

Getting started

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

Supported setups of Postgres and Applications

Features

Documentation

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

Community

There are two places to get in touch with the community:

  1. The GitHub issue tracker
  2. The #postgres-operator slack channel

About

Postgres operator creates and manages PostgreSQL clusters running in Kubernetes

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 75.3%
  • Python 13.4%
  • Pug 6.9%
  • Shell 1.9%
  • JavaScript 0.8%
  • HTML 0.4%
  • Other 1.3%