guix/doc
Martin Baulig 9dda747975
services: posgresql: Add option to specify UID/GID for postgres user.
Add 'createAccount?', 'uid' and 'gid' to <postgresql-configuation>.

Unlike other system daemons, the PostgreSQL data directory is typically
meant to persist across 'guix system reconfigure' and once created, you
don't want it's UID or GID to change anymore.

Furthermore, if you want to place the data directory on a network share
and use NFSv4 with idmap, then the 'postgres' user must exist when the
'rpc.idmapd' daemon is launched; prior to mounting the share.  And it
needs to be possible to mount the share without configuring PostgreSQL.

With NFSv3, the UID and GID typically needs to match those on the
server.

The added options allow for both of these scenarios:

You can either create the user in (operating-system (users)) completely
independently of the 'postgresql-service-type' (for instance to get your
NFS setup working first prior to configuring your databases) - or "pin"
it's UID / GID values.

* gnu/services/databases.scm (<postgresql-configuration>)[create-account?]
[uid, gid]: New fields.
(%postgresql-accounts): Remove.
(create-postgresql-account): New procedure.
(postgresql-service-type)[extensions]: Use it.
* doc/guix.texi (Database Services): Update accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-08-16 22:37:52 +02:00
..
images doc: Add the "Full-source Bootstrap". 2022-05-12 19:27:59 +02:00
build.scm gnu: Rationalize texlive-updmap.cfg and texlive-tiny inputs. 2023-07-18 18:16:47 +02:00
contributing.texi doc: contributing: Mention the expected branch merge request format. 2023-08-16 11:49:06 -04:00
environment-gdb.scm doc: Update GDB "guix shell" example to use autoconf-2.69 2023-07-18 00:41:15 +02:00
fdl-1.3.texi
guix-cookbook.texi doc: Update Cookbook Texinfo menus. 2023-08-16 11:04:21 -04:00
guix.texi services: posgresql: Add option to specify UID/GID for postgres user. 2023-08-16 22:37:52 +02:00
he-config-bare-bones.scm doc: Update example of a minimalistic home environment. 2022-06-10 22:42:49 +02:00
htmlxref.cnf doc: Update URLs for the manual and cookbook translations. 2022-12-18 16:01:32 +01:00
local.mk doc: Build more man pages. 2022-11-19 19:54:14 +01:00
package-hello.json
package-hello.scm