summaryrefslogtreecommitdiff
path: root/gnu/services/databases.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/services/databases.scm')
-rw-r--r--gnu/services/databases.scm25
1 files changed, 13 insertions, 12 deletions
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index d908b86af8..979f3dd6c8 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -331,7 +331,9 @@ host all all ::1/128 md5"))
(const %postgresql-accounts))
(service-extension
profile-service-type
- (compose list postgresql-configuration-postgresql))))))
+ (compose list postgresql-configuration-postgresql))))
+ (default-value (postgresql-configuration
+ (postgresql postgresql-10)))))
(define-deprecated (postgresql-service #:key (postgresql postgresql)
(port 5432)
@@ -408,13 +410,8 @@ rolname = '" ,name "')) as not_exists;\n"
(let ((host (postgresql-role-configuration-host config))
(roles (postgresql-role-configuration-roles config)))
- (program-file
- "postgresql-create-roles"
- #~(begin
- (let ((psql #$(file-append postgresql "/bin/psql")))
- (execl psql psql "-a"
- "-h" #$host
- "-f" #$(roles->queries roles)))))))
+ #~(let ((psql #$(file-append postgresql "/bin/psql")))
+ (list psql "-a" "-h" #$host "-f" #$(roles->queries roles)))))
(define (postgresql-role-shepherd-service config)
(match-record config <postgresql-role-configuration>
@@ -423,10 +420,14 @@ rolname = '" ,name "')) as not_exists;\n"
(requirement '(postgres))
(provision '(postgres-roles))
(one-shot? #t)
- (start #~(make-forkexec-constructor
- (list #$(postgresql-create-roles config))
- #:user "postgres" #:group "postgres"
- #:log-file #$log))
+ (start
+ #~(lambda args
+ (let ((pid (fork+exec-command
+ #$(postgresql-create-roles config)
+ #:user "postgres"
+ #:group "postgres"
+ #:log-file #$log)))
+ (zero? (cdr (waitpid pid))))))
(documentation "Create PostgreSQL roles.")))))
(define postgresql-role-service-type