From 3ac3f226f32dac17500974ec0319fdeff42d22d4 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 1 Jan 2021 09:58:29 +0000 Subject: services: postgresql: Log from pg_ctl. pg_ctl will output errors when starting PostgreSQL, for example about errors in the configuration file. Without getting pg_ctl to log to a file, I'm not sure how to find those errors. * gnu/services/databases.scm (postgresql-activation): Create /var/log/postgresql. (postgresql-shepherd-service): Pass --log=/var/log/postgresql/pg_ctl to pg_ctl. --- gnu/services/databases.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm index d2dc5f0da8..479a3c56f7 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm @@ -205,6 +205,10 @@ host all all ::1/128 md5")) (mkdir-p #$data-directory) (chown #$data-directory (passwd:uid user) (passwd:gid user)) + ;; Create log directory + (mkdir-p "/var/log/postgresql") + (chown "/var/log/postgresql" (passwd:uid user) (passwd:gid user)) + ;; Drop privileges and init state directory in a new ;; process. Wait for it to finish before proceeding. (match (primitive-fork) @@ -247,6 +251,7 @@ host all all ::1/128 md5")) (setgid (passwd:gid user)) (setuid (passwd:uid user)) (execl pg_ctl pg_ctl "-D" #$data-directory "-o" options + "--log=/var/log/postgresql/pg_ctl" mode))))))) (pid-file (in-vicinity data-directory "postmaster.pid")) (action (lambda args -- cgit v1.2.3