Crunchy Data announces the release of the PostgreSQL Operator 4.3.3 on August 17, 2020.

The PostgreSQL Operator is released in conjunction with the Crunchy Container Suite.

The PostgreSQL Operator 4.3.3 release includes the following software versions upgrades:

  • The PostgreSQL containers now use versions 12.4, 11.9, 10.14, 9.6.19, and 9.5.23
  • pgBouncer is now at version 1.14.

PostgreSQL Operator is tested with Kubernetes 1.13 - 1.18, OpenShift 3.11+, OpenShift 4.3+, Google Kubernetes Engine (GKE), and VMware Enterprise PKS 1.3+.


  • Perform a pg_dump from a specific database using the --database flag when using pgo backup with --backup-type=pgdump.
  • Restore a pg_dump to a specific database using the --pgdump-database flag using pgo restore when --backup-type=pgdump is specified.
  • Add the --client flag to pgo version to output the client version of pgo.
  • The PostgreSQL cluster scope is now utilized to identify and sync the ConfigMap responsible for the DCS for a PostgreSQL cluster.
  • The PGMONITOR_PASSWORD is now populated by an environmental variable secret. This environmental variable is only set on a primary instance as it is only needed at the time a PostgreSQL cluster is initialized.
  • Remove “Operator Start Time” from pgo status as it is more convenient and accurate to get this information from kubectl and the like, and it was not working due to RBAC privileges. (Reported by @mw-0).
  • pgo-rmdata container no longer runs as the root user, but as daemon (UID 2)
  • Remove dependency on the expenv binary that was included in the PostgreSQL Operator release. All expenv calls were either replaced with the native envsubst program or removed.


  • Add validation to ensure that limits for CPU/memory are greater-than-or-equal-to the requests. This applies to any command that can set a limit/request.
  • Ensure WAL archives are pushed to all repositories when pgBackRest is set to use both a local and a S3-based repository
  • Silence expected error conditions when a pgBackRest repository is being initialized.
  • Add the watch permissions to the pgo-deployer ServiceAccount.
  • Ensure client-setup.sh works with when there is an existing pgo client in the install path
  • Ensure the PostgreSQL Operator can be uninstalled by adding list verb ClusterRole privileges to several Kubernetes objects.
  • Bring up the correct number of pgBouncer replicas when pgo update cluster --startup is issued.
  • Fixed issue where pgo scale would not work after pgo update cluster --shutdown and pgo update cluster --startup were run.
  • Ensure pgo scaledown deletes external WAL volumes from the replica that is removed.
  • Fix for PostgreSQL cluster startup logic when performing a restore.
  • Do not consider non-running Pods as primary Pods when checking for multiple primaries (Reported by @djcooklup).
  • Fix race condition that could occur while pgo upgrade was running while a HA configuration map attempted to sync. (Reported by Paul Heinen @v3nturetheworld).
  • Silence “ConfigMap not found” error messages that occurred during PostgreSQL cluster initialization, as these were not real errors.
  • Fix an issue with controller processing, which could manifest in PostgreSQL clusters not being deleted.
  • Eliminate gcc from the postgres-ha and pgadmin4 containers.
  • Fix pgo label when applying multiple labels at once.