Merge pull request #262741 from emilylange/nixos-forgejo-postgres15

nixos/forgejo: work around permissions error on `postgresql_15`

Emily a61c6b47 5c004190

Changed files
+11
nixos
modules
services
+11
nixos/modules/services/misc/forgejo.nix
···
];
};
services.mysql = optionalAttrs (useMysql && cfg.database.createDatabase) {
enable = mkDefault true;
package = mkDefault pkgs.mariadb;
···
];
};
+
# Work around 'pq: permission denied for schema public' with postgres v15, until a
+
# solution for `services.postgresql.ensureUsers` is found.
+
# See https://github.com/NixOS/nixpkgs/issues/216989
+
systemd.services.postgresql.postStart = lib.mkIf (
+
usePostgresql
+
&& cfg.database.createDatabase
+
&& lib.strings.versionAtLeast config.services.postgresql.package.version "15.0"
+
) (lib.mkAfter ''
+
$PSQL -tAc 'ALTER DATABASE "${cfg.database.name}" OWNER TO "${cfg.database.user}";'
+
'');
+
services.mysql = optionalAttrs (useMysql && cfg.database.createDatabase) {
enable = mkDefault true;
package = mkDefault pkgs.mariadb;