[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/02: services: postgresql: Get the Shepherd to respawn PostgreSQL.
From: |
Clément Lassieur |
Subject: |
01/02: services: postgresql: Get the Shepherd to respawn PostgreSQL. |
Date: |
Mon, 13 Aug 2018 17:44:59 -0400 (EDT) |
snape pushed a commit to branch master
in repository guix.
commit ef2dda8edb2b78cf6a2ffcdac138421b2553aec8
Author: Clément Lassieur <address@hidden>
Date: Mon Aug 13 20:37:09 2018 +0200
services: postgresql: Get the Shepherd to respawn PostgreSQL.
* gnu/services/databases.scm (postgresql-shepherd-service): Change 'start'
to
return the PID.
---
gnu/services/databases.scm | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index 8ae248e..aff78a0 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -221,13 +221,20 @@ host all all ::1/128 trust"))
(setuid (passwd:uid user))
(execl pg_ctl pg_ctl "-D" #$data-directory "-o" options
mode)))))))
+ (pid-file (in-vicinity data-directory "postmaster.pid"))
(action (lambda args
#~(lambda _
- (invoke #$pg_ctl-wrapper address@hidden)))))
+ (invoke #$pg_ctl-wrapper address@hidden)
+ (match '#$args
+ (("start")
+ (call-with-input-file #$pid-file read))
+ (_ #t))))))
(list (shepherd-service
(provision '(postgres))
(documentation "Run the PostgreSQL daemon.")
(requirement '(user-processes loopback syslogd))
+ (modules `((ice-9 match)
+ ,@%default-modules))
(start (action "start"))
(stop (action "stop"))))))))