services: databases: Don't specify a default postgresql version.

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.
This commit is contained in:
Christopher Baines 2020-10-02 19:15:44 +01:00
parent 21b712acc7
commit bdcf4d88d5
No known key found for this signature in database
GPG key ID: 5E28A33B0B84F577
6 changed files with 16 additions and 9 deletions

View file

@ -18457,7 +18457,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
@ -18483,7 +18485,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})

View file

@ -147,8 +147,7 @@ (define contents
(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 @@ (define postgresql-service-type
(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)

View file

@ -215,7 +215,9 @@ (define %test-mongodb
(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."

View file

@ -156,6 +156,7 @@ (define %guix-data-service-os
(service dhcp-client-service-type)
(service postgresql-service-type
(postgresql-configuration
(postgresql postgresql-10)
(config-file
(postgresql-config-file
(hba-file

View file

@ -307,7 +307,9 @@ (define %zabbix-os
(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")))

View file

@ -567,7 +567,9 @@ (define (patchwork-os patchwork)
(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)