nixos/postgresql: move ExecStartPost into postStart
This commit is contained in:
parent
ec82ae3c39
commit
8e045b42fd
@ -311,32 +311,9 @@ in
|
|||||||
''}
|
''}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
serviceConfig = mkMerge [
|
|
||||||
{ ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
|
||||||
User = "postgres";
|
|
||||||
Group = "postgres";
|
|
||||||
RuntimeDirectory = "postgresql";
|
|
||||||
Type = if versionAtLeast cfg.package.version "9.6"
|
|
||||||
then "notify"
|
|
||||||
else "simple";
|
|
||||||
|
|
||||||
# Shut down Postgres using SIGINT ("Fast Shutdown mode"). See
|
|
||||||
# http://www.postgresql.org/docs/current/static/server-shutdown.html
|
|
||||||
KillSignal = "SIGINT";
|
|
||||||
KillMode = "mixed";
|
|
||||||
|
|
||||||
# Give Postgres a decent amount of time to clean up after
|
|
||||||
# receiving systemd's SIGINT.
|
|
||||||
TimeoutSec = 120;
|
|
||||||
|
|
||||||
ExecStart = "${postgresql}/bin/postgres";
|
|
||||||
|
|
||||||
# Wait for PostgreSQL to be ready to accept connections.
|
# Wait for PostgreSQL to be ready to accept connections.
|
||||||
ExecStartPost =
|
postStart =
|
||||||
let
|
''
|
||||||
setupScript = pkgs.writeScript "postgresql-setup" (''
|
|
||||||
#!${pkgs.runtimeShell} -e
|
|
||||||
|
|
||||||
PSQL="psql --port=${toString cfg.port}"
|
PSQL="psql --port=${toString cfg.port}"
|
||||||
|
|
||||||
while ! $PSQL -d postgres -c "" 2> /dev/null; do
|
while ! $PSQL -d postgres -c "" 2> /dev/null; do
|
||||||
@ -361,9 +338,27 @@ in
|
|||||||
$PSQL -tAc 'GRANT ${permission} ON ${database} TO "${user.name}"'
|
$PSQL -tAc 'GRANT ${permission} ON ${database} TO "${user.name}"'
|
||||||
'') user.ensurePermissions)}
|
'') user.ensurePermissions)}
|
||||||
'') cfg.ensureUsers}
|
'') cfg.ensureUsers}
|
||||||
'');
|
'';
|
||||||
in
|
|
||||||
"${setupScript}";
|
serviceConfig = mkMerge [
|
||||||
|
{ ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||||
|
User = "postgres";
|
||||||
|
Group = "postgres";
|
||||||
|
RuntimeDirectory = "postgresql";
|
||||||
|
Type = if versionAtLeast cfg.package.version "9.6"
|
||||||
|
then "notify"
|
||||||
|
else "simple";
|
||||||
|
|
||||||
|
# Shut down Postgres using SIGINT ("Fast Shutdown mode"). See
|
||||||
|
# http://www.postgresql.org/docs/current/static/server-shutdown.html
|
||||||
|
KillSignal = "SIGINT";
|
||||||
|
KillMode = "mixed";
|
||||||
|
|
||||||
|
# Give Postgres a decent amount of time to clean up after
|
||||||
|
# receiving systemd's SIGINT.
|
||||||
|
TimeoutSec = 120;
|
||||||
|
|
||||||
|
ExecStart = "${postgresql}/bin/postgres";
|
||||||
}
|
}
|
||||||
(mkIf (cfg.dataDir == "/var/lib/postgresql/${cfg.package.psqlSchema}") {
|
(mkIf (cfg.dataDir == "/var/lib/postgresql/${cfg.package.psqlSchema}") {
|
||||||
StateDirectory = "postgresql postgresql/${cfg.package.psqlSchema}";
|
StateDirectory = "postgresql postgresql/${cfg.package.psqlSchema}";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user