summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2020-07-28 13:58:36 +0200
committerGuix Patches Tester <>2020-07-28 13:02:05 +0100
commit89a4475d7371860f63ca4bcbfe6daba661c74316 (patch)
treecfa6c2fe821713b963cfdf1e4589b60c8d991e76
parentf5e2394c2e51cdfdf18985f31a5af6590f15edc9 (diff)
downloadguix-patches-89a4475d7371860f63ca4bcbfe6daba661c74316.tar
guix-patches-89a4475d7371860f63ca4bcbfe6daba661c74316.tar.gz
doc: Explain how to use psql with peer authentication.
* doc/guix.texi (Database Services): Add example of shell commands to use psql as system user. Also add troubleshooting tip when service fails to start because of incompatible cluster.
-rw-r--r--doc/guix.texi18
1 files changed, 18 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 74c7417174..aba3f925b9 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -17260,6 +17260,24 @@ The PostgreSQL daemon loads its runtime configuration from @var{config-file},
creates a database cluster with @var{locale} as the default
locale, stored in @var{data-directory}. It then listens on @var{port}.
+If the services fails to start, it may be due to an incompatible
+cluster already present in @var{data-directory}. Adjust it (or, if you
+don't need the cluster anymore, delete @var{data-directory}), then
+restart the service.
+
+Peer authentication is used by default and the @code{postgres} user
+account has no shell, which prevents the direct execution of @code{psql}
+commands as this user. To use @code{psql}, you can temporarily log in
+as @code{postgres} using a shell, create a PostgreSQL superuser with the
+same name as one of the system users and then create the associated
+database.
+
+@example
+sudo -u postgres -s /bin/sh
+createuser --interface
+createdb $MY_USER_LOGIN # Replace appropriately.
+@end example
+
@cindex postgresql extension-packages
Additional extensions are loaded from packages listed in
@var{extension-packages}. Extensions are available at runtime. For instance,