nixos-config/modules/postgresql.nix
2022-08-03 11:14:15 +02:00

53 lines
1.1 KiB
Nix

{ pkgs, config, ... }:
{
services.postgresql = {
enable = true;
package = pkgs.postgresql_14;
#ensureDatabases = [ "nextcloud" ];
#ensureUsers = [
# {
# name = "nextcloud";
# ensurePermissions = {
# "DATABASE nextcloud" = "ALL PRIVILEGES";
# };
# }
#];
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 = {
paths.postgresqlBackup = {
path = "${config.services.postgresqlBackup.location}/*.sql.zstd";
user = "postgres";
group = "postgres";
keep = 24;
frequency = "hourly";
extraConfig = ''
dateext
dateformat _%Y-%m-%d:%H
extension = .zstd
'';
};
};
}
# vim: set et ts=2 sw=2 ai: