Skip to main content
PGO makes it easy to run production PostgreSQL on Kubernetes. This quickstart walks you through installing the operator and creating your first PostgreSQL cluster with high availability, automated backups, and connection pooling — all from a single YAML manifest.

Prerequisites

  • kubectl installed and configured against a running Kubernetes cluster
  • Cluster-admin permissions (for installing CRDs and the operator)
  • Access to the Crunchy Data Developer Portal to pull container images

Install PGO

1

Fork and clone the examples repository

The quickest way to install PGO is via the official examples repository, which includes ready-to-use Kustomize overlays.
2

Create the operator namespace

3

Deploy the operator

4

Verify the operator is running

You should see a pod named pgo in the Running state within about 30 seconds.

Create your first PostgreSQL cluster

Apply the following manifest to create a PostgreSQL 18 cluster named hippo with two backup repositories and pgBouncer connection pooling:
hippo.yaml
Watch the cluster come up:
Within a minute or two you’ll see pods for the Postgres instance, pgBackRest repository, and pgBouncer all reach Running.

Connect to your cluster

PGO automatically creates a secret with connection credentials. Retrieve the connection URI:
Connect directly with psql:
To connect via pgBouncer (recommended for applications):
The secret hippo-pguser-hippo contains keys for user, password, dbname, host, port, uri, jdbc-uri, and pgbouncer-uri. Use whichever format your application expects.

Next steps

Create a cluster

Learn all the options for provisioning and customizing your PostgresCluster.

Configure backups

Set up backup repositories on S3, GCS, Azure, or local storage.

High availability

Add replicas and configure automatic failover with Patroni.

Full installation guide

Explore all installation options including single-namespace mode.