[bug#74058,v2,1/2] gnu: postgresql-configuration: Set default postgresql to *no*.
Commit Message
* gnu/services/databases.scm (postgresql-configuration)[postgresql]:
Set default to *no*.
(postgresql-service): Revert default to postgresql-10 (rationale: We
can remove this service at the same time than postgresql-10, in
something like 6 months to a year).
---
gnu/services/databases.scm | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
Comments
Hi,
Nicolas Graves <ngraves@ngraves.fr> skribis:
> * gnu/services/databases.scm (postgresql-configuration)[postgresql]:
> Set default to *no*.
> (postgresql-service): Revert default to postgresql-10 (rationale: We
> can remove this service at the same time than postgresql-10, in
> something like 6 months to a year).
> ---
> gnu/services/databases.scm | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
> index 0933eb5e79..05e2c5f996 100644
> --- a/gnu/services/databases.scm
> +++ b/gnu/services/databases.scm
> @@ -167,8 +167,12 @@ (define contents
> (define-record-type* <postgresql-configuration>
> postgresql-configuration make-postgresql-configuration
> postgresql-configuration?
> + ;; Setting it to *no* ensures that the user sets its current postgresql
> + ;; explicitely. Since major upgrades currently require a manual migration
> + ;; of the database, this way the user is responsible for upgrading properly.
> + ;; MAYBE TODO: Write an action to automatically upgrade in Guix.
> (postgresql postgresql-configuration-postgresql ;file-like
> - (default postgresql))
> + (default *no*))
I think we misunderstood each other; when I wrote:
> How about having *no* default value in that case?
I suggested removing the (default …) bit altogether, as in:
(define-record-type* <postgresql-configuration>
postgresql-configuration make-postgresql-configuration
postgresql-configuration?
(postgresql postgresql-configuration-postgresql) ;no default value
…)
That way, users get a syntax error (at macro-expansion time) if they
omit the ‘postgresql’ field.
Does that make sense?
Ludo’.
On 2024-11-12 10:03, Ludovic Courtès wrote:
>
> I think we misunderstood each other; when I wrote:
Big indeed ;)
>> How about having *no* default value in that case?
>
> I suggested removing the (default …) bit altogether, as in:
>
> (define-record-type* <postgresql-configuration>
> postgresql-configuration make-postgresql-configuration
> postgresql-configuration?
> (postgresql postgresql-configuration-postgresql) ;no default value
> …)
>
> That way, users get a syntax error (at macro-expansion time) if they
> omit the ‘postgresql’ field.
>
> Does that make sense?
Yep, will resend a version.
@@ -167,8 +167,12 @@ (define contents
(define-record-type* <postgresql-configuration>
postgresql-configuration make-postgresql-configuration
postgresql-configuration?
+ ;; Setting it to *no* ensures that the user sets its current postgresql
+ ;; explicitely. Since major upgrades currently require a manual migration
+ ;; of the database, this way the user is responsible for upgrading properly.
+ ;; MAYBE TODO: Write an action to automatically upgrade in Guix.
(postgresql postgresql-configuration-postgresql ;file-like
- (default postgresql))
+ (default *no*))
(port postgresql-configuration-port
(default 5432))
(locale postgresql-configuration-locale
@@ -346,7 +350,7 @@ (define postgresql-service-type
(default-value (postgresql-configuration))
(description "Run the PostgreSQL database server.")))
-(define-deprecated (postgresql-service #:key (postgresql postgresql)
+(define-deprecated (postgresql-service #:key (postgresql postgresql-10)
(port 5432)
(locale "en_US.utf8")
(config-file (postgresql-config-file))