{ pkgs, config, ... }: { services.postgresql = { enable = true; package = pkgs.postgresql_14; 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: