complete-computing-environment/postgresql.org

989 B

PostgreSQL on the Wobserver

My go-to multi-write database server is postgres. I like how it has JSON columns and indexes in a (somewhat) ergonomic form. This is a pretty basic setup.

{ pkgs, ... }:

{
  services.postgresql = {
    enable = true;
    package = pkgs.postgresql_14;
    settings = {
      wal_level = "replica";
      archive_mode = "on";
      archive_command = "test ! -f /srv/pgsql/archive/wal/%f && cp %p /srv/pgsql/archive/wal/%f";
    };
  };
  # backup weekly
  services.postgresqlBackup = {
    enable = true;
    backupAll = true;
    location = "/srv/pgsql/backups/";
    startAt = "Mon *-*-* 02:00:00";
  };
}

NEXT validate this