The following features are supported by the crunchy-postgres container:

  • Kubernetes and OpenShift secrets
  • Backup and restoration from various tools: pgbackrest, pg_basebackup and pg_dump/pg_restore.
  • Custom mounted configuration files (see below)
  • Async and Sync Replication
  • Configurable benchmarking options
  • SQL running tool


The crunchy-postgres Docker image contains the following packages (versions vary depending on PostgreSQL version):

  • PostgreSQL (13.11, 12.15, and 11.20)
  • pgBackRest (2.33)
  • pgBench (13.11, 12.15, and 11.20)
  • rsync
  • CentOS 7, UBI 8 - publicly available
  • UBI 7, UBI 8 - customers only

Running Modes

The crunchy-postgres Docker image can be run in the modes to enable functionality. The MODE environment variable must be set to run the image in the required mode. Each mode uses environment variables to configure how the container will be run, more information about the individual modes can be found in the following pages:

Running Mode MODE setting
Crunchy PostgreSQL postgres
pg_basebackup job backup
pg_basebackup restore job pgbasebackup-restore
pg_bench job pgbench
pg_dump job pgdump
pg_restore job pgrestore
SQL runner job sqlrunner


Name Description
/backrestrepo Volume used by the pgbackrest backup tool to store physical backups.
/pgconf Volume used to store custom configuration files mounted to the container.
/pgdata Volume used to store the data directory contents for the PostgreSQL database.
/pgwal Volume used to store Write Ahead Log (WAL) when XLOGDIR environment variable is set to true.
/recover Volume used for Point In Time Recovery (PITR) during startup of the PostgreSQL database.