v2.6, 2018-04-27
The postgres-operator is a controller that runs within a Kubernetes cluster that provides a means to deploy and manage PostgreSQL clusters.
Use the postgres-operator to -
deploy PostgreSQL containers including streaming replication clusters
scale up PostgreSQL clusters with extra replicas
add pgpool and metrics sidecars to PostgreSQL clusters
apply SQL policies to PostgreSQL clusters
assign metadata tags to PostgreSQL clusters
maintain PostgreSQL users and passwords
perform minor and major upgrades to PostgreSQL clusters
load simple CSV and JSON files into PostgreSQL clusters
perform database backups
The postgres-operator design incorporates the following concepts -
adds Custom Resource Definitions for PostgreSQL to Kubernetes
adds controller logic that watches events on PostgreSQL resources
provides a command line client (pgo) and REST API for interfacing with the postgres-operator
provides for very customized deployments including container resources, storage configurations, and PostgreSQL custom configurations
More design information is found on the How It Works page.
The postgres-operator runs on any Kubernetes and Openshift platform that supports Custom Resource Definitions.
The Operator project builds and operates with the following containers -
This Operator is developed and tested on the following operating systems but is known to run on other operating systems -
CentOS 7
RHEL 7
To build and deploy the Operator on your Kubernetes system, follow the instructions documented on the Installation page.
If you’re seeking to upgrade your existing Operator installation, please visit the Upgrading the Operator page.
The operator is template-driven; this makes it simple to configure both the client and the operator. The configuration options are documented on the Configuration page.
postgres-operator commands are documented on the Getting Started page.