Nais Postgres reference ΒΆ
This document describes all possible configuration values in the Postgres spec, commonly known as the postgres.yaml file. A Postgres is a logical database: pgrator creates its default main branch as a separate CNPG cluster. spec.activeBranch requests a local branch name; status.activeBranch is the observed selection. A requested branch must have an initialized, Ready, non-terminating CNPG cluster before pgrator updates observed status. This check is not an atomic cutover guarantee; verify workload connections when switching branches.
activeBranch ΒΆ
ActiveBranch selects the local branch name within this Postgres for normal workloads. When omitted, pgrator retains the current active branch.
Type: string
Required: false
Example
spec:
activeBranch: mainextensions ΒΆ
Extensions to activate in the application database. Removing an entry drops the extension (without CASCADE); postgis and timescaledb stay mounted and preloaded until the drop succeeds. The drop fails, and is retried, while other objects depend on the extension.
Type: array
Required: false
Example
spec:
extensions:
- name: postgisextensions[].name ΒΆ
Name of the extension, as used in CREATE EXTENSION. postgis and timescaledb are mounted from the configured CNPG image catalog (timescaledb is also preloaded); the rest are bundled with the Postgres image. pg_stat_statements and pgaudit are managed by the platform and cannot be requested.
Type: enum
Required: true
Allowed values: amcheck, bloom, btree_gin, btree_gist, citext, cube, earthdistance, fuzzystrmatch, hstore, intarray, isn, lo, ltree, pageinspect, pg_buffercache, pg_freespacemap, pg_logicalinspect, pg_prewarm, pg_trgm, pg_visibility, pg_walinspect, pgcrypto, pgrowlocks, pgstattuple, postgis, seg, sslinfo, tablefunc, tcn, timescaledb, tsm_system_rows, tsm_system_time, unaccent, vector
Example
spec:
extensions:
- name: postgishighAvailability ΒΆ
HighAvailability adds a third instance and enables synchronous replication.
A cluster always runs a primary and a standby, so failover is available either way. What this adds is the guarantee that an acknowledged commit survives losing the primary, at the cost of write latency.
Type: boolean
Required: false
Example
spec:
highAvailability: truemajorVersion ΒΆ
MajorVersion of Postgres to use.
Type: enum
Required: true
Allowed values: 18
Example
spec:
majorVersion: "18"resources ΒΆ
Resources configures compute and disk for the Postgres cluster.
Type: object
Required: false
Example
spec:
resources:
cpu: 100m
diskSize: 10Gi
memory: 512Miresources.cpu ΒΆ
Cpu is the CPU resources for the Postgres cluster.
Type: integer or string
Required: false
Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
Example
spec:
resources:
cpu: 100mresources.diskSize ΒΆ
DiskSize is the disk size for the Postgres cluster. Minimum is 5Gi.
Type: integer or string
Required: false
Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
Example
spec:
resources:
diskSize: 10Giresources.memory ΒΆ
Memory is the memory resources for the Postgres cluster.
Type: integer or string
Required: false
Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
Example
spec:
resources:
memory: 512Mi