[PATCH] services: postgresql: Change service default socket directory.

  • Done
  • quality assurance status badge
Details
2 participants
  • Leo Famulari
  • Christopher Baines
Owner
unassigned
Submitted by
Christopher Baines
Severity
normal
C
C
Christopher Baines wrote on 12 Apr 2021 22:41
(address . guix-patches@gnu.org)
20210412204141.27659-1-mail@cbaines.net

PostgreSQL running with a different socket directory to the default one in the
package itself breaks some services, this commit restores the previous
behaviour where PostgreSQL by default will run with a socket directory that
matches the default used by PostgreSQL packaged for Guix.

Switching to a different default value can happen, but only alongside changing
the PostgreSQL package.

* gnu/services/databases.scm (<postgresql-config-file>)[socket-directory]:
Change default to #false.
* doc/guix.texi (Database Services): Update documentation, and specify a
different value for disabling connections via sockets.
* gnu/tests/guix.scm (%guix-data-service-os): Use default PostgreSQL
behaviour.
* gnu/tests/monitoring.scm (%zabbix-os): Likewise.
* gnu/tests/web.scm (patchwork-os): Likewise.
---
doc/guix.texi | 9 ++++++---
gnu/services/databases.scm | 2 +-
gnu/tests/guix.scm | 5 +----
gnu/tests/monitoring.scm | 7 +------
gnu/tests/web.scm | 7 +------
5 files changed, 10 insertions(+), 20 deletions(-)

Toggle diff (90 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 456dfb264d..1069a5d296 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -19830,12 +19830,15 @@ configuration.
@item @code{ident-file} (default: @code{%default-postgres-ident})
Filename or G-expression for the user name mapping configuration.
-@item @code{socket-directory} (default: @code{"/var/run/postgresql"})
+@item @code{socket-directory} (default: @code{#false})
Specifies the directory of the Unix-domain socket(s) on which PostgreSQL
-is to listen for connections from client applications. If set to
-@code{#false} PostgreSQL does not listen on any Unix-domain sockets, in
+is to listen for connections from client applications. If set to
+@code{""} PostgreSQL does not listen on any Unix-domain sockets, in
which case only TCP/IP sockets can be used to connect to the server.
+By default, the @code{#false} value means the PostgreSQL default value
+will be used, which is currently @samp{/tmp}.
+
@item @code{extra-config} (default: @code{'()})
List of additional keys and values to include in the PostgreSQL config
file. Each entry in the list should be a list where the first element
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index a841e7a50e..6ef3f3383c 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -115,7 +115,7 @@ host all all ::1/128 md5"))
(ident-file postgresql-config-file-ident-file
(default %default-postgres-ident))
(socket-directory postgresql-config-file-socket-directory
- (default "/var/run/postgresql"))
+ (default #false))
(extra-config postgresql-config-file-extra-config
(default '())))
diff --git a/gnu/tests/guix.scm b/gnu/tests/guix.scm
index 219b8b482f..af7d8f0b21 100644
--- a/gnu/tests/guix.scm
+++ b/gnu/tests/guix.scm
@@ -164,10 +164,7 @@
"
local all all trust
host all all 127.0.0.1/32 trust
-host all all ::1/128 trust"))
- ;; XXX: Remove when postgresql default socket directory is
- ;; changed to /var/run/postgresql.
- (socket-directory #f)))))
+host all all ::1/128 trust"))))))
(service guix-data-service-type
(guix-data-service-configuration
(host "0.0.0.0")))
diff --git a/gnu/tests/monitoring.scm b/gnu/tests/monitoring.scm
index be69e1c259..8630f5818c 100644
--- a/gnu/tests/monitoring.scm
+++ b/gnu/tests/monitoring.scm
@@ -309,12 +309,7 @@ zabbix||{}
(service dhcp-client-service-type)
(service postgresql-service-type
(postgresql-configuration
- (postgresql postgresql)
- ;; XXX: Remove when postgresql default socket directory is
- ;; changed to /var/run/postgresql.
- (config-file
- (postgresql-config-file
- (socket-directory #f)))))
+ (postgresql postgresql)))
(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 cc0e79c8b2..7f4518acd2 100644
--- a/gnu/tests/web.scm
+++ b/gnu/tests/web.scm
@@ -569,12 +569,7 @@ HTTP-PORT."
(listen '("8080"))))))
(service postgresql-service-type
(postgresql-configuration
- (postgresql postgresql-10)
- ;; XXX: Remove when postgresql default socket directory is
- ;; changed to /var/run/postgresql.
- (config-file
- (postgresql-config-file
- (socket-directory #f)))))
+ (postgresql postgresql-10)))
(service patchwork-service-type
(patchwork-configuration
(patchwork patchwork)
--
2.30.1
L
L
Leo Famulari wrote on 13 Apr 2021 01:15
(name . Christopher Baines)(address . mail@cbaines.net)(address . 47736-done@debbugs.gnu.org)
YHTUkigpSgsLOjwG@jasmine.lan
On Mon, Apr 12, 2021 at 09:41:41PM +0100, Christopher Baines wrote:
Toggle quote (19 lines)
>
> PostgreSQL running with a different socket directory to the default one in the
> package itself breaks some services, this commit restores the previous
> behaviour where PostgreSQL by default will run with a socket directory that
> matches the default used by PostgreSQL packaged for Guix.
>
> Switching to a different default value can happen, but only alongside changing
> the PostgreSQL package.
>
> * gnu/services/databases.scm (<postgresql-config-file>)[socket-directory]:
> Change default to #false.
> * doc/guix.texi (Database Services): Update documentation, and specify a
> different value for disabling connections via sockets.
> * gnu/tests/guix.scm (%guix-data-service-os): Use default PostgreSQL
> behaviour.
> * gnu/tests/monitoring.scm (%zabbix-os): Likewise.
> * gnu/tests/web.scm (patchwork-os): Likewise.

Thanks, I hastily pushed as c311147bd16aa0e5746d9cbf31502f5fd61e470c in
order to squeeze this in before the "string freeze", which began today.
Closed
?