Components and Compatibility

Kubernetes Compatibility

PGO, the Postgres Operator from Crunchy Data, is tested on the following platforms:

  • Kubernetes 1.25-1.29
  • OpenShift 4.10-4.15
  • Rancher
  • Google Kubernetes Engine (GKE), including Anthos
  • Amazon EKS
  • Microsoft AKS
  • VMware Tanzu

Components Compatibility

The following table defines the compatibility between PGO and the various component containers needed to deploy PostgreSQL clusters using PGO.

The listed versions of Postgres show the latest minor release (e.g. 16.2) of each major version (e.g. 16). Older minor releases may still be compatible with PGO. We generally recommend to run the latest minor release for the same reasons that the PostgreSQL community provides.

Note that for the 5.0.3 release and beyond, the Postgres containers were renamed to crunchy-postgres and crunchy-postgres-gis.

Architectures

Crunchy Postgres for Kubernetes is compatible with AMD and ARM architectures. Both AMD and ARM container builds are available for the various components discussed below.

ARM support was in added in Crunchy Postgres for Kubernetes 5.4 for Postgres version 13 and greater.

Container Versions

The latest two major versions of Postgres are available through the Crunchy Developer Program. The Postgres upgrade container includes one prior version of Postgres to facilitate major Postgres version upgrades.

Also, please note that the PostgresCluster-scoped pgAdmin solution currently utilizes pgAdmin 4.30, which does not support versions of Postgres greater than 14 or ARM architectures. The Namespace-scoped pgAdmin solution (which uses a more recent version of pgAdmin, as shown below) should be utilized instead for full compatibility with ARM and all actively maintained versions of Postgres.

PGOpgAdminpgBackRestPgBouncerPostgresPostGIS
5.5.14.30,7.82.491.2116,15,14,13,123.4,3.3,3.2,3.1,3.0,2.5
5.5.04.30,7.82.471.2116,15,14,13,12,113.4,3.3,3.2,3.1,3.0,2.5,2.4
5.4.34.302.471.1916,15,14,13,12,113.4,3.3,3.2,3.1,3.0,2.5,2.4
5.4.24.302.471.1915,14,13,12,113.3,3.2,3.1,3.0,2.5,2.4
5.4.14.302.451.1915,14,13,12,113.3,3.2,3.1,3.0,2.5,2.4
5.4.04.302.451.1915,14,13,12,113.3,3.2,3.1,3.0,2.5,2.4
5.3.44.302.471.1915,14,13,12,113.3,3.2,3.1,3.0,2.5,2.4
5.3.34.302.451.1915,14,13,12,113.3,3.2,3.1,3.0,2.5,2.4
5.3.24.302.451.1915,14,13,12,113.3,3.2,3.1,3.0,2.5,2.4
5.3.14.302.411.1815,14,13,12,113.3,3.2,3.1,3.0,2.5,2.4
5.3.04.302.411.1715,14,13,12,113.3,3.2,3.1,3.0,2.5,2.4
5.2.54.302.471.1914,13,12,113.2,3.1,3.0,2.5,2.4,2.4
5.2.44.302.451.1914,13,12,113.2,3.1,3.0,2.5,2.4,2.4
5.2.34.302.451.1914,13,12,113.2,3.1,3.0,2.5,2.4,2.4
5.2.24.302.411.1814,13,12,113.2,3.1,3.0,2.5,2.4,2.4
5.2.14.302.411.1714,13,12,11,103.2,3.1,3.0,2.5,2.4,2.3
5.2.04.302.401.1714,13,12,11,103.2,3.1,3.0,2.5,2.4,2.3
5.1.84.302.471.1914,13,12,113.2,3.1,3.0,2.5,2.4,2.4
5.1.74.302.451.1914,13,12,113.2,3.1,3.0,2.5,2.4,2.4
5.1.64.302.451.1914,13,12,113.2,3.1,3.0,2.5,2.4,2.4
5.1.54.302.411.1714,13,12,113.2,3.1,3.0,2.5,2.4,2.4
5.1.44.302.411.1714,13,12,11,103.2,3.1,3.0,2.5,2.4,2.3
5.1.34.302.401.1714,13,12,11,103.2,3.1,3.0,2.5,2.4,2.3
5.1.24.302.381.1614,13,12,11,103.2,3.1,3.0,2.5,2.4,2.3
5.1.14.302.381.1614,13,12,11,103.2,3.1,3.0,2.5,2.4,2.3
5.1.04.302.381.1614,13,12,11,103.1,3.0,2.5,2.4,2.3
5.0.9n/a2.411.1714,13,12,11,103.1,3.0,2.5,2.4,2.3
5.0.8n/a2.401.1714,13,12,11,103.1,3.0,2.5,2.4,2.3
5.0.7n/a2.381.1614,13,12,11,103,2,3.1,3.0,2.5,2.4,2.3
5.0.6n/a2.381.1614,13,12,11,103.2,3.1,3.0,2.5,2.4,2.3
5.0.5n/a2.361.1614,13,12,11,103.1,3.0,2.5,2.4,2.3
5.0.4n/a2.361.1614,13,12,11,103.1,3.0,2.5,2.4,2.3
5.0.3n/a2.351.1514,13,12,11,103.1,3.0,2.5,2.4,2.3

The latest Postgres containers include Patroni 3.1.2.

Container Tags

The container tags follow one of two patterns:

  • <baseImage>-<softwareVersion>-<buildVersion>
  • <baseImage>-<softwareVersion>-<pgoVersion>-<buildVersion> (Customer Portal only)

For example, when pulling from the customer portal, the following would both be valid tags to reference the PgBouncer container:

  • ubi8-1.21-3
  • ubi8-5.5.1-0

On the developer portal, PgBouncer would use this tag:

  • ubi8-1.21-3

PostGIS enabled containers have both the Postgres and PostGIS software versions included. For example, Postgres 16 with PostGIS 3.4 would use the following tags:

  • ubi8-16.2-3.3-0
  • ubi8-16.2-3.3-5.5.1-0

Extensions Compatibility

The following table defines the compatibility between Postgres extensions and versions of Postgres they are available in. The "Postgres version" corresponds with the major version of a Postgres container.

The table also lists the initial PGO version that the version of the extension is available in.

Need an extension that's not listed? Contact us to discuss your use case.

ExtensionVersionPostgres VersionsInitial PGO Version
orafce4.9.116, 15, 14, 13, 125.5.1
orafce4.7.016, 15, 14, 13, 12, 115.5.0
orafce4.6.116, 15, 14, 13, 12, 115.4.3
orafce4.2.615, 14, 13, 12, 115.4.0
orafce3.25.115, 14, 13, 12, 115.3.0
orafce3.25.114, 13, 12, 11, 105.2.1
orafce3.24.014, 13, 12, 11, 105.1.3
orafce3.22.014, 13, 12, 11, 105.0.8
pgAudit16.0165.5.0
pgAudit1.7.0155.4.0
pgAudit1.7.0155.3.0
pgAudit1.6.2145.1.0
pgAudit1.6.2145.0.6
pgAudit1.6.1145.0.4
pgAudit1.6.0145.0.3
pgAudit1.5.2135.1.0
pgAudit1.5.2135.0.6
pgAudit1.5.0135.0.0
pgAudit1.4.3125.1.0
pgAudit1.4.1125.0.0
pgAudit1.3.4115.1.0
pgAudit1.3.4115.0.6
pgAudit1.3.2115.0.0
pgAudit1.2.4105.1.0
pgAudit1.2.4105.0.6
pgAudit1.2.2105.0.0
pgAudit Analyze1.0.916, 15, 14, 13, 12, 115.4.3
pgAudit Analyze1.0.814, 13, 12, 11, 105.0.3
pgAudit Analyze1.0.713, 12, 11, 105.0.0
pg_cron1.6.216, 15, 14, 13, 125.5.1
pg_cron1.6.016, 15, 14, 13, 12, 115.4.3
pg_cron1.5.215, 14, 13, 12, 115.4.0
pg_cron1.4.215, 14, 135.3.0
pg_cron1.4.214, 135.2.1
pg_cron1.4.114, 13, 12, 11, 105.0.5
pg_cron1.3.114, 13, 12, 11, 105.0.0
pg_partman5.0.116, 15, 145.5.1
pg_partman5.0.016, 15, 145.5.0
pg_partman4.7.416, 15, 14, 13, 12, 115.4.3
pg_partman4.7.315, 14, 13, 12, 115.4.0
pg_partman4.7.115, 14, 13, 12, 115.3.0
pg_partman4.6.214, 13, 12, 11, 105.2.0
pg_partman4.6.214, 13, 12, 11, 105.1.3
pg_partman4.6.214, 13, 12, 11, 105.0.8
pg_partman4.6.114, 13, 12, 11, 105.1.1
pg_partman4.6.114, 13, 12, 11, 105.0.6
pg_partman4.6.014, 13, 12, 11, 105.0.4
pg_partman4.5.113, 12, 11, 105.0.0
pgnodemx1.616, 15, 14, 13, 12, 115.4.3
pgnodemx1.415, 14, 13, 12, 115.4.0
pgnodemx1.3.014, 13, 12, 11, 105.1.0
pgnodemx1.3.014, 13, 12, 11, 105.0.6
pgnodemx1.2.014, 13, 12, 11, 105.0.4
pgnodemx1.0.514, 13, 12, 11, 105.0.3
pgnodemx1.0.413, 12, 11, 105.0.0
pgvector0.6.016, 15, 14, 13, 125.5.1
pgvector0.5.116, 15, 14, 13, 12, 115.5.0
pgvector0.4.415, 14, 13, 12, 115.4.0
set_user4.0.115, 14, 13, 12, 115.4.0
set_user3.0.014, 13, 12, 11, 105.0.3
set_user2.0.113, 12, 11, 105.0.2
set_user2.0.013, 12, 11, 105.0.0
TimescaleDB2.13.016, 15, 14, 135.5.1
TimescaleDB2.12.215, 14, 135.5.0
TimescaleDB2.11.215, 14, 13, 125.4.3
TimescaleDB2.10.315, 14, 13, 125.4.0
TimescaleDB2.8.114, 13, 125.3.0
TimescaleDB2.6.114, 13, 125.1.1
TimescaleDB2.6.114, 13, 125.0.6
TimescaleDB2.6.014, 13, 125.1.0
TimescaleDB2.5.014, 13, 125.0.3
TimescaleDB2.4.213, 125.0.3
TimescaleDB2.4.013, 125.0.2
TimescaleDB2.3.1115.0.1
TimescaleDB2.2.013, 12, 115.0.0
wal2json2.515, 14, 13, 12, 115.4.0
wal2json2.414, 13, 12, 11, 105.0.3
wal2json2.313, 12, 11, 105.0.0

Geospatial Extensions

The following extensions are available in the geospatially aware containers (crunchy-postgres-gis):

ExtensionVersionPostgres VersionsInitial PGO Version
PostGIS3.4165.4.3
PostGIS3.316, 15, 145.4.3
PostGIS3.315, 145.3.0
PostGIS3.2145.1.1
PostGIS3.2145.0.6
PostGIS3.114, 135.0.0
PostGIS3.013, 125.0.0
PostGIS2.512, 115.0.0
PostGIS2.411, 105.0.0
PostGIS2.3105.0.0
pgrouting3.4.2165.4.3
pgrouting3.3.416, 15, 145.4.3
pgrouting3.3.115, 145.3.0
pgrouting3.2.2145.1.1
pgrouting3.1.4145.0.4
pgrouting3.1.3135.0.0
pgrouting3.0.513, 125.0.0
pgrouting2.6.312, 11, 105.0.0