nixos-config/modules/postgresql.nix
2022-12-14 14:46:15 +01:00

42 lines
945 B
Nix

{ pkgs, config, lib, ... }:
{
services.postgresql = {
enable = true;
package = lib.mkDefault pkgs.postgresql_15;
enableTCPIP = true;
ensureUsers = [
{
name = "zbx_monitor";
ensurePermissions = {
"FUNCTION pg_catalog.pg_ls_dir(text)" = "EXECUTE";
"FUNCTION pg_catalog.pg_stat_file(text)" = "EXECUTE";
"FUNCTION pg_catalog.pg_ls_waldir()" = "EXECUTE";
};
}
];
};
services.postgresqlBackup = {
enable = true;
startAt = "*-*-* *:30:00";
compression = "zstd";
databases = [
"postgres"
];
};
services.logrotate = {
settings = {
"${config.services.postgresqlBackup.location}/*.sql.zstd" = {
su = "postgres postgres";
rotate = 24;
frequency = "hourly";
dateext = true;
dateformat = "_%Y-%m-%d:%H";
extension = ".zstd";
};
};
};
}
# vim: set et ts=2 sw=2 ai: