Skip to content

Nais Postgres reference

Experimental feature

This feature is an alpha feature, and is subject to API change, instability or removal. See the main Postgres page for more information.

This document describes all possible configuration values in the Postgres spec, commonly known as the postgres.yaml file.

cluster

Cluster configures the Postgres cluster

Type: object
Required: true

Example
spec:
  cluster:
    allowDeletion: true
    audit:
      enabled: true
      statementClasses:
        - function
        - misc
    highAvailability: true
    majorVersion: "17"
    resources:
      cpu: 200m
      diskSize: 2Gi
      memory: 2Gi

cluster.allowDeletion

Allow deletion of the Postgres cluster when the application is deleted.

Type: boolean
Required: false

Example
spec:
  cluster:
    allowDeletion: true

cluster.audit

Configure audit logging for the Postgres cluster.

Type: object
Required: false

Example
spec:
  cluster:
    audit:
      enabled: true
      statementClasses:
        - function
        - misc

cluster.audit.enabled

Enable audit logging for the Postgres cluster.

Type: boolean
Required: false

Example
spec:
  cluster:
    audit:
      enabled: true

cluster.audit.statementClasses

Statement classes to log.

Type: array
Required: false
Default value: ddl,write

Example
spec:
  cluster:
    audit:
      statementClasses:
        - function
        - misc

cluster.highAvailability

High availability cluster.

Type: boolean
Required: false

Example
spec:
  cluster:
    highAvailability: true

cluster.majorVersion

Major version of Postgres to use.

Type: enum
Required: true
Allowed values: 16, 17

Example
spec:
  cluster:
    majorVersion: "17"

cluster.resources

Type: object
Required: true

Example
spec:
  cluster:
    resources:
      cpu: 200m
      diskSize: 2Gi
      memory: 2Gi

cluster.resources.cpu

CPU resources for the Postgres cluster.

Type: object
Required: true
Default value: 0

Example
spec:
  cluster:
    resources:
      cpu: 200m

cluster.resources.diskSize

Disk size for the Postgres cluster.

Type: object
Required: true
Default value: 0

Example
spec:
  cluster:
    resources:
      diskSize: 2Gi

cluster.resources.memory

Memory resources for the Postgres cluster.

Type: object
Required: true
Default value: 0

Example
spec:
  cluster:
    resources:
      memory: 2Gi

database

Database configures the Postgres database.

Type: object
Required: false

Example
spec:
  database:
    collation: nb_NO.UTF-8
    extensions:
      - name: postgis

database.collation

Collation for the Postgres database.

Type: enum
Required: false
Allowed values: en_US, nb_NO

Example
spec:
  database:
    collation: nb_NO.UTF-8

database.extensions

Extensions to enable in the Postgres database.

Type: array
Required: false

Example
spec:
  database:
    extensions:
      - name: postgis

database.extensions[].name

Name of the Postgres extension to enable.

Type: string
Required: true

Example
spec:
  database:
    extensions:
      - name: postgis

maintenanceWindow

MaintenanceWindow configures the maintenance window for the Postgres cluster.

Type: object
Required: false

Example
spec:
  maintenanceWindow:
    day: 4
    hour: 10

maintenanceWindow.day

Type: integer
Required: true
Value range: 1-7

Example
spec:
  maintenanceWindow:
    day: 4

maintenanceWindow.hour

Type: integer
Required: true
Value range: 0-23

Example
spec:
  maintenanceWindow:
    hour: 10