Skip to content

postgresql

PostgreSQL. Runs one server per instance; other modules reach it through the database contract.

apps.postgresql.main = {
extensions = ps: [ ps.pgvector ];
settings.shared_buffers = "256MB";
};

Provides

None.

Needs

volume5 options
  • <name>.accessModeslist of string

    Access modes for the PVC.

    Default
    [ "ReadWriteOnce" ]
  • <name>.classnull or string

    Storage class alias, resolved by the volume provider.

    Default
    null
  • <name>.pathstring

    Mount path this claim is bound to in the consumer's pod.

  • <name>.sizenull or string

    Requested size, such as 10Gi. Defaults to the size the volume provider assigns.

    Default
    null
  • providernull or (podule provider reference (apps.<type>.<instance> or impl.<contract>.<name>))

    Overrides providers.volume for this need.

    Default
    null
secret7 options
  • <name>.externalboolean

    The operator supplies this value before apply. Other secrets are generated in the cluster.

    Default
    false
  • <name>.keyslist of string

    Keys stored in this Secret. Empty means one key named after the secret.

    Default
    [ ]
    Example
    [ "name" "user" "password" ]
  • <name>.refnull or (submodule)

    Bound secretRef for this secret. Written by the secret provider.

    Default
    null
  • <name>.ref.keystring

    Key inside the Secret.

  • <name>.ref.namestring

    Kubernetes Secret object name.

  • <name>.ref.namespacenull or string

    Namespace of the Secret. Defaults to the namespace of the consumer that reads it.

    Default
    null
  • providernull or (podule provider reference (apps.<type>.<instance> or impl.<contract>.<name>))

    Overrides providers.secret for this need. One provider handles every named secret.

    Default
    null
  • extensionsfunction that evaluates to a(n) list of package

    Extensions from postgresql.pkgs for this server version.

    Default
    <function>
    Example
    ps: [ ps.pgvector ps.postgis ]
  • packagepackage

    PostgreSQL package. Extensions are added with withPackages.

    Default
    <derivation postgresql-18.6>
  • port16 bit unsigned integer; between 0 and 65535 (both inclusive)

    Port the server listens on.

    Default
    5432
  • preloadLibrarieslist of string

    shared_preload_libraries entries, such as pgaudit.

    Default
    [ ]
  • settingsattribute set of string

    postgresql.conf settings. Overrides preloadLibraries when the same key is set.

    Default
    { }
  • superuserstring

    Name of the superuser role.

    Default
    "postgres"