Skip to main content
PGO ships as a collection of container images that work together to deliver a production-grade PostgreSQL service on Kubernetes. Each image is purpose-built for a specific role and published to the Crunchy Data Developer Portal. This page lists every image, the open source software it contains, and how the operator resolves which image to use at runtime.

Container images

PGO uses six container images. The operator resolves each image from a field in the PostgresCluster (or PGAdmin) spec, falling back to an environment variable on the operator deployment when the spec field is empty.
The crunchy-postgres-gis image tag is selected automatically when spec.postGISVersion is set on the PostgresCluster. The operator builds the environment variable key as RELATED_IMAGE_POSTGRES_<postgresVersion>_GIS_<postGISVersion>.

crunchy-postgres

The main PostgreSQL image. It runs on Red Hat UBI 9 minimal and contains the PostgreSQL server packages from the PostgreSQL Global Development Group (PGDG) repository, along with Patroni for high availability.

PostgreSQL and procedural languages

  • PostgreSQL (PGDG packages) — core server, contrib modules, and server binaries
  • PL/Python (PL/Python 3) — Python-based stored procedures
  • LLVM JIT — just-in-time compilation for query acceleration

Extensions

High availability and backup agents

  • Patroni — manages replication topology and automated failover using distributed consensus
  • pgBackRest — embedded WAL archiver and backup/restore tool (also available as a standalone image for dedicated repository hosts)
Patroni is installed via pip from the Python Package Index at image build time. The specific version is pinned in the Dockerfile and can be checked by inspecting the image layers.

crunchy-postgres-gis

A superset of crunchy-postgres that adds geospatial capabilities. It is built FROM the base Postgres image so it inherits every extension listed above, then adds:
  • PostGIS — spatial database extension for PostgreSQL
  • pgRouting — geospatial routing algorithms on top of PostGIS
  • PL/Perl — Perl-based stored procedures
  • PL/Tcl — Tcl-based stored procedures
Use this image by setting spec.postGISVersion on your PostgresCluster.

crunchy-pgbackrest

A dedicated image for running pgBackRest as a standalone process, used in the pgbackrest sidecar and in backup repository host pods. It is separate from the main Postgres image so that backup jobs can be scheduled and sized independently.
  • pgBackRest (PGDG repository package) — full-featured backup and WAL archiving tool
  • A small Go binary (crunchy-pgbackrest) built from the operator source that handles configuration generation and health checking

crunchy-pgbouncer

A minimal image containing only pgBouncer and its runtime dependencies. PGO injects it as the proxy container when spec.proxy.pgBouncer is configured.
  • pgBouncer — lightweight connection-pooling proxy for PostgreSQL

crunchy-pgadmin4

The pgAdmin 4 web UI, packaged with Python and served by Gunicorn. PGO supports two deployment modes: as a sidecar to a specific cluster (via spec.userInterface.pgAdmin) or as a standalone PGAdmin custom resource that can be shared across multiple clusters.
  • pgAdmin 4 — browser-based database management interface
  • Gunicorn — WSGI server that serves the pgAdmin web application
  • PostgreSQL client libraries — for direct SQL connections from the UI

crunchy-postgres-exporter

A thin image containing the postgres_exporter binary from the Prometheus community, used by the pgMonitor integration to expose metrics on port 9187.
  • postgres_exporter (Prometheus community, version 0.18.1 at current build) — exposes PostgreSQL internal metrics in Prometheus format
The exporter is paired with the pgMonitor query library to provide pre-built dashboards for Grafana.

crunchy-collector

The OpenTelemetry collector image, used when the OpenTelemetryLogs or OpenTelemetryMetrics feature gates are enabled. It includes log rotation support so PostgreSQL and pgBackRest log files can be managed without a separate sidecar.
  • OpenTelemetry Collector Contrib (version 0.147.0 at current build) — configurable pipeline for receiving, processing, and exporting telemetry data
  • logrotate — log file rotation for PostgreSQL and pgBackRest logs

Monitoring stack

When you deploy the reference monitoring configuration (config/monitoring/), three additional community images are used. These are not built by Crunchy Data but are referenced in the Kustomize overlays: See the monitoring guide for deployment instructions.

Obtaining images

Crunchy Data publishes production images through two portals:
  • Crunchy Data Customer Portal — for customers with a support subscription: https://access.crunchydata.com/
  • Crunchy Data Developer Portal — free developer access: https://www.crunchydata.com/developers
The postgres-operator-examples Kustomize overlays reference images from the Developer Portal by default. Image availability in the Developer Portal may lag a GA release by a few days.
Images downloaded from the Crunchy Data Developer Portal are subject to the Crunchy Data Developer Program terms of use. Review the terms before using them in a production environment.

Supported platforms

Kubernetes distributions and version requirements for PGO.

Feature gates

Enable alpha features including OpenTelemetry log and metric collection.

Monitoring guide

Configure Prometheus, Grafana, and the pgMonitor exporter.

Create a cluster

Provision your first PostgresCluster and reference these images.