Examples v1
The examples show configuration files for setting up your PostgreSQL cluster.
Important
These examples are for demonstration and experimentation purposes. You can execute them on a personal Kubernetes cluster with Minikube or Kind, as described in Quick start.
Reference
For a list of available options, see API reference.
Basics
Basic cluster
: cluster-example.yaml
A basic example of a cluster.
Custom cluster
: cluster-example-custom.yaml
A basic cluster that uses the default storage class and custom parameters for
the postgresql.conf
and pg_hba.conf
files.
Cluster with customized storage class
: cluster-storage-class.yaml
:
A basic cluster that uses a specified storage class of standard
.
Cluster with persistent volume claim (PVC) template configured
: cluster-pvc-template.yaml
:
A basic cluster with an explicit persistent volume claim template.
Extended configuration example
: cluster-example-full.yaml
:
A cluster that sets most of the available options.
Bootstrap cluster with SQL files
: cluster-example-initdb-sql-refs.yaml
:
A cluster example that executes a set of queries defined in a secret and a
ConfigMap
right after the database is created.
Sample cluster with customized pg_hba
configuration
: cluster-example-pg-hba.yaml
:
A basic cluster that enables the user app to authenticate using certificates.
Sample cluster with Secret and ConfigMap mounted using projected volume template
: cluster-example-projected-volume.yaml
A basic cluster with the existing Secret
and ConfigMap
mounted into Postgres
pod using projected volume mount.
Cluster with TDE enabled
: cluster-example-tde.yaml
an EPAS 15 cluster with TDE. Note that you will need access credentials
to download the image used.
Backups
Customized storage class and backups
: Prerequisites: Bucket storage must be available. The sample config is for AWS.
Change it to suit your setup.
: cluster-storage-class-with-backup.yaml
A cluster with backups configured.
Backup
: Prerequisites: cluster-storage-class-with-backup.yaml
applied and healthy.
: backup-example.yaml
:
An example of a backup that runs against the previous sample.
Simple cluster with backup configured
: Prerequisites: The configuration assumes minio is running and working.
Update backup.barmanObjectStore
with your minio parameters or your cloud solution.
: cluster-example-with-backup.yaml
A basic cluster with backups configured.
Replica clusters
Replica cluster by way of backup from an object store
: Prerequisites:
cluster-storage-class-with-backup.yaml
applied and healthy, and a backup
cluster-example-trigger-backup.yaml
applied and completed.
: cluster-example-replica-from-backup-simple.yaml
:
A replica cluster following a cluster with backup configured.
Replica cluster by way of volume snapshot
: Prerequisites:
cluster-example-with-volume-snapshot.yaml
applied and healthy, and a volume snapshot
backup-with-volume-snapshot.yaml
applied and completed.
: cluster-example-replica-from-volume-snapshot.yaml
:
A replica cluster following a cluster with volume snapshot configured.
Replica cluster by way of streaming (pg_basebackup)
: Prerequisites: cluster-example.yaml
applied and healthy.
: cluster-example-replica-streaming.yaml
:
A replica cluster following cluster-example
with streaming replication.
PostGIS
PostGIS example
: postgis-example.yaml
:
An example of a PostGIS cluster. See PostGIS for details.
Managed roles
Cluster with declarative role management
: cluster-example-with-roles.yaml
:
Declares a role with the managed
stanza. Includes password management with
Kubernetes secrets.
Declarative tablespaces
Cluster with declarative tablespaces
: cluster-example-with-tablespaces.yaml
Cluster with declarative tablespaces and backup
: Prerequisites: The configuration assumes minio is running and working.
Update backup.barmanObjectStore
with your minio parameters or your cloud solution.
: cluster-example-with-tablespaces-backup.yaml
Restored cluster with tablespaces from object store
: Prerequisites: The previous cluster applied and a base backup completed.
Remember to update bootstrap.recovery.backup.name
with the backup name.
: cluster-restore-with-tablespaces.yaml
For a list of available options, see API reference.
Pooler configuration
Pooler with custom service config
: pooler-external.yaml