percona-postgresql-operator

module
v2.7.1-0...-d77f34b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 10, 2025 License: Apache-2.0

README

Percona Operator for PostgreSQL

Percona Kubernetes Operators

License Docker Pulls Docker Image Size (tag) GitHub tag (latest by SemVer) GitHub go.mod Go version Go Report Card

Introduction

Percona Operator for PostgreSQL automates and simplifies deploying and managing open source PostgreSQL clusters on Kubernetes. It is based on Postgres Operator developed by Crunchy Data.

Whether you need to get a simple PostgreSQL cluster up and running, need to deploy a high availability, fault tolerant cluster in production, or are running your own database-as-a-service, the Operator provides the essential features you need to keep your clusters healthy:

  • PostgreSQL cluster provisioning
  • High availability and disaster recovery
  • Automated user management with password rotation
  • Automated updates
  • Support for both asynchronous and synchronous replication
  • Scheduled and manual backups
  • Integrated monitoring with Percona Monitoring and Management

While the Percona Operator is primarily managed through the command line, you can also use Percona Everest for a web-based user interface. This open-source tool provides a streamlined experience for provisioning and managing your databases, simplifying day-to-day tasks and reducing administrative overhead. Learn more about Percona Everest in the documentation or jump right in with the quickstart guide.

Architecture

Percona Operators are based on the Operator SDK and leverage Kubernetes primitives to follow best CNCF practices.

Learn more about architecture and design decisions.

Documentation

To learn more about the Operator, check the Percona Operator for PostgreSQL documentation.

Quickstart installation

Ready to try out the Operator? Check the Quickstart tutorial for easy-to follow steps.

Below is one of the ways to deploy the Operator using kubectl.

kubectl
  1. Deploy the operator from deploy/bundle.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/percona/percona-postgresql-operator/main/deploy/bundle.yaml
  1. Deploy the database cluster itself from deploy/cr.yaml
kubectl apply -f https://raw.githubusercontent.com/percona/percona-postgresql-operator/main/deploy/cr.yaml

Need help?

Commercial Support Community Support

Enterprise-grade assistance for your mission-critical PostgreSQL deployments with the Percona Operator for PostgreSQL. Get expert guidance for complex tasks like multi-cloud replication, database migration and building platforms.


Connect with our engineers and fellow users for general questions, troubleshooting, and sharing feedback and ideas.

Get Percona Support Visit our Forum

Contributing

Percona welcomes and encourages community contributions to help improve Percona Operator for PostgreSQL.

See the Contribution Guide on how you can contribute.

Roadmap

We have a public roadmap which can be found here. Please feel free to contribute and propose new features by following the roadmap guidelines.

Submitting Bug Reports

If you find a bug in Percona Docker Images or in one of the related projects, please submit a report to that project's JIRA issue tracker or create a GitHub issue in this repository.

Learn more about submitting bugs, new features ideas and improvements in the Contribution Guide.

Directories

Path Synopsis
cmd
pgbackrest command
internal
feature
Package feature provides types and functions to enable and disable features of the Postgres Operator.
Package feature provides types and functions to enable and disable features of the Postgres Operator.
initialize
Package initialize provides functions to initialize some common fields and types.
Package initialize provides functions to initialize some common fields and types.
naming
Package naming provides functions and constants for the postgres-operator naming and labeling scheme.
Package naming provides functions and constants for the postgres-operator naming and labeling scheme.
patroni
Package patroni provides clients, utilities and resources for configuring and interacting with Patroni inside of a PostgreSQL cluster
Package patroni provides clients, utilities and resources for configuring and interacting with Patroni inside of a PostgreSQL cluster
pki
Package pki provides types and functions to support the public key infrastructure of the Postgres Operator.
Package pki provides types and functions to support the public key infrastructure of the Postgres Operator.
pmm
postgres
Package postgres is a collection of resources that interact with PostgreSQL or provide functionality that makes it easier for other resources to interact with PostgreSQL.
Package postgres is a collection of resources that interact with PostgreSQL or provide functionality that makes it easier for other resources to interact with PostgreSQL.
postgres/password
package password lets one create the appropriate password hashes and verifiers that are used for adding the information into PostgreSQL
package password lets one create the appropriate password hashes and verifiers that are used for adding the information into PostgreSQL
percona
k8s
pmm
pkg
apis/pgv2.percona.com/v2
+kubebuilder:object:generate=true +groupName=pgv2.percona.com
+kubebuilder:object:generate=true +groupName=pgv2.percona.com
apis/postgres-operator.crunchydata.com/v1beta1
Package v1beta1 contains API Schema definitions for the postgres-operator v1beta1 API group +kubebuilder:object:generate=true +groupName=postgres-operator.crunchydata.com
Package v1beta1 contains API Schema definitions for the postgres-operator v1beta1 API group +kubebuilder:object:generate=true +groupName=postgres-operator.crunchydata.com

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL