summaryrefslogtreecommitdiffstats
path: root/postgresql-setup.in
diff options
context:
space:
mode:
Diffstat (limited to 'postgresql-setup.in')
-rw-r--r--postgresql-setup.in13
1 files changed, 13 insertions, 0 deletions
diff --git a/postgresql-setup.in b/postgresql-setup.in
index e4f640a..0337bdd 100644
--- a/postgresql-setup.in
+++ b/postgresql-setup.in
@@ -168,6 +168,7 @@ initdb()
info $"Initializing database in '$pgdata'$port_info"
if check_not_initialized && perform_initdb; then
info $"Initialized, logs are in ${initdb_log}"
+ cleanup_dropin=
else
error $"Initializing database failed, possibly see $initdb_log"
script_result=1
@@ -324,6 +325,8 @@ generate_systemd_dropin()
mkdir -p "$dropindir" \
|| die "Can not create '$dropindir'"
+ cleanup_dropin="rm -rf \"$dropindir\""
+
cat <<EOF > "$dropin" || die "Can not write to '$dropin'"
[Service]
Environment=PGDATA=$pgdata
@@ -502,6 +505,16 @@ service_configuration()
test -n "$envfile_pgport" && set_var "$portvar" "$envfile_pgport"
}
+cleanup_dropin=
+exit_handler()
+{
+ test -n "$cleanup_dropin" && {
+ info "cleaning up created dropin directory"
+ eval "$cleanup_dropin"
+ }
+}
+
+trap exit_handler 0
# <Compat>
# Alow users to use the old style arguments like