[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#43771] [PATCH v2 5/5] services: databases: Don't specify a default
From: |
Christopher Baines |
Subject: |
[bug#43771] [PATCH v2 5/5] services: databases: Don't specify a default postgresql version. |
Date: |
Mon, 19 Oct 2020 20:02:59 +0100 |
Currently, if the postgresql package major version changes, this is going to
break the service upon upgrade, because PostgreSQL will reject the data files
from the differing major version of the service.
Because it's important to either keep running a particular major version, or
intentionally upgrade, I think the configuration would be better with no
default. I think this is also going to be helpful when trying to assist users
upgrading PostgreSQL.
* gnu/services/databases.scm (<postgresql-configuration>): Remove default for
postgresql.
(postgresql-service-type): Remove the default value.
* gnu/tests/databases.scm (%postgresql-os): Update accordingly.
* gnu/tests/guix.scm (%guix-data-service-os): Update accordingly.
* gnu/tests/monitoring.scm (%zabbix-os): Update accordingly.
* gnu/tests/web.scm (patchwork-os): Update accordingly.
* doc/guix.texi (PostgreSQL): Update accordingly.
---
doc/guix.texi | 6 ++++--
gnu/services/databases.scm | 6 ++----
gnu/tests/databases.scm | 4 +++-
gnu/tests/guix.scm | 1 +
gnu/tests/monitoring.scm | 4 +++-
gnu/tests/web.scm | 4 +++-
6 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 8aaa896c8d..bc62a1f797 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -18184,7 +18184,9 @@ The following example describes a PostgreSQL service
with the default
configuration.
@lisp
-(service postgresql-service-type)
+(service postgresql-service-type
+ (postgresql-configuration
+ (postgresql postgresql-10)))
@end lisp
If the services fails to start, it may be due to an incompatible
@@ -18210,7 +18212,7 @@ Data type representing the configuration for the
@code{postgresql-service-type}.
@table @asis
-@item @var{postgresql} (default: @code{postgresql})
+@item @var{postgresql}
PostgreSQL package to use for the service.
@item @var{port} (default: @code{5432})
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index 7908a3e0f6..d7b4594b9e 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -147,8 +147,7 @@ host all all ::1/128 md5"))
(define-record-type* <postgresql-configuration>
postgresql-configuration make-postgresql-configuration
postgresql-configuration?
- (postgresql postgresql-configuration-postgresql ;<package>
- (default postgresql))
+ (postgresql postgresql-configuration-postgresql) ;<package>
(port postgresql-configuration-port
(default 5432))
(locale postgresql-configuration-locale
@@ -279,8 +278,7 @@ host all all ::1/128 md5"))
(service-extension account-service-type
(const %postgresql-accounts))
(service-extension profile-service-type
- (compose list
postgresql-configuration-postgresql))))
- (default-value (postgresql-configuration))))
+ (compose list
postgresql-configuration-postgresql))))))
(define-deprecated (postgresql-service #:key (postgresql postgresql)
(port 5432)
diff --git a/gnu/tests/databases.scm b/gnu/tests/databases.scm
index e0544bbcd2..d3045cc3f7 100644
--- a/gnu/tests/databases.scm
+++ b/gnu/tests/databases.scm
@@ -215,7 +215,9 @@
(define %postgresql-os
(simple-operating-system
- (service postgresql-service-type)))
+ (service postgresql-service-type
+ (postgresql-configuration
+ (postgresql postgresql-10)))))
(define (run-postgresql-test)
"Run tests in %POSTGRESQL-OS."
diff --git a/gnu/tests/guix.scm b/gnu/tests/guix.scm
index 20b67d55d3..af7d8f0b21 100644
--- a/gnu/tests/guix.scm
+++ b/gnu/tests/guix.scm
@@ -156,6 +156,7 @@
(service dhcp-client-service-type)
(service postgresql-service-type
(postgresql-configuration
+ (postgresql postgresql-10)
(config-file
(postgresql-config-file
(hba-file
diff --git a/gnu/tests/monitoring.scm b/gnu/tests/monitoring.scm
index 17b9edc3ac..7371b02fe1 100644
--- a/gnu/tests/monitoring.scm
+++ b/gnu/tests/monitoring.scm
@@ -307,7 +307,9 @@ zabbix||{}
(let ((base-os
(simple-operating-system
(service dhcp-client-service-type)
- (service postgresql-service-type)
+ (service postgresql-service-type
+ (postgresql-configuration
+ (postgresql postgresql-10)))
(service zabbix-front-end-service-type
(zabbix-front-end-configuration
(db-password "zabbix")))
diff --git a/gnu/tests/web.scm b/gnu/tests/web.scm
index 7513eab2e4..7f4518acd2 100644
--- a/gnu/tests/web.scm
+++ b/gnu/tests/web.scm
@@ -567,7 +567,9 @@ HTTP-PORT."
(config
(httpd-config-file
(listen '("8080"))))))
- (service postgresql-service-type)
+ (service postgresql-service-type
+ (postgresql-configuration
+ (postgresql postgresql-10)))
(service patchwork-service-type
(patchwork-configuration
(patchwork patchwork)
--
2.28.0
- [bug#43771] [PATCH 3/5] Remove the postgresql-service procedure, (continued)
[bug#43771] [PATCH 4/5] Define postgresql-10, Christopher Baines, 2020/10/02
[bug#43771] [PATCH 2/5] Add some subheadings in to the Databases section of the docs, Christopher Baines, 2020/10/02
[bug#43771] [PATCH 5/5] Don't specify a default postgresql version to use for the service, Christopher Baines, 2020/10/02
[bug#43771] [PATCH 0/5] PostgreSQL service improvements, Ludovic Courtès, 2020/10/05