v2.6, 2024-12-25
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 Design page.
The postgres-operator runs on Kubernetes and Openshift platforms that support CRD (custom resource definitions).
Quickstart scripts are provided for GKE and Openshift currently. More information is found on the Quickstarts page.
To build and deploy the Operator on your Kubernetes system, follow the instructions documented on the Installation 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 Commands page.
For people wanting to build from source, instructions are documented on the Build page.