47 lines
1013 B
Nix
47 lines
1013 B
Nix
|
{
|
||
|
config,
|
||
|
lib,
|
||
|
pkgs,
|
||
|
...
|
||
|
}:
|
||
|
{
|
||
|
services.postgresqlBackup = {
|
||
|
location = "/var/backup/postgresql";
|
||
|
backupAll = true;
|
||
|
};
|
||
|
services.postgresql = {
|
||
|
enable = true;
|
||
|
# Explicitly setting the data dir so upgrades (changing version from 15 -> 16) don't end up
|
||
|
# getting lost on system reboots
|
||
|
dataDir = "/var/lib/postgresql";
|
||
|
settings = {
|
||
|
log_connections = true;
|
||
|
log_disconnections = true;
|
||
|
logging_collector = true;
|
||
|
log_statement = "all";
|
||
|
log_destination = lib.mkForce "syslog,jsonlog";
|
||
|
};
|
||
|
ensureUsers = [
|
||
|
{
|
||
|
name = "root";
|
||
|
ensureClauses.superuser = true;
|
||
|
}
|
||
|
];
|
||
|
};
|
||
|
|
||
|
environment.systemPackages = [ pkgs.pgloader ];
|
||
|
|
||
|
environment.persistence.save.directories = [
|
||
|
{
|
||
|
directory = config.services.postgresql.dataDir;
|
||
|
user = "postgres";
|
||
|
group = "postgres";
|
||
|
}
|
||
|
{
|
||
|
directory = config.services.postgresqlBackup.location;
|
||
|
user = "postgres";
|
||
|
group = "postgres";
|
||
|
}
|
||
|
];
|
||
|
}
|