0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-16 15:10:29 +03:00

nixos/postgresql: fix condition for readwritepaths

In the case that the user wants to provide a custom data directory, we
need to grant `ReadWritePaths` for that directory. Previously this would
not happen when `/var/lib/postgresql` was used, because the condition
was not in fact checking for the default data directory, creating a gap
in then if-else scenario.

Fixes: #371680
(cherry picked from commit 4d0f802848)
This commit is contained in:
Martin Weinelt 2025-01-08 16:05:38 +01:00 committed by github-actions[bot]
parent 55e18b9fe4
commit d862cce5d8

View file

@ -722,10 +722,12 @@ in
] ++ lib.optionals (any extensionInstalled [ "plv8" ]) [ "@pkey" ];
UMask = if groupAccessAvailable then "0027" else "0077";
}
(mkIf (cfg.dataDir != "/var/lib/postgresql") {
(mkIf (cfg.dataDir != "/var/lib/postgresql/${cfg.package.psqlSchema}") {
# The user provides their own data directory
ReadWritePaths = [ cfg.dataDir ];
})
(mkIf (cfg.dataDir == "/var/lib/postgresql/${cfg.package.psqlSchema}") {
# Provision the default data directory
StateDirectory = "postgresql postgresql/${cfg.package.psqlSchema}";
StateDirectoryMode = if groupAccessAvailable then "0750" else "0700";
})