Subject: bug#44207: closed (Re: [bug#44207] [PATCH] doc: Document the postgresql-config-file.)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 25 Oct 2020 11:07:03 +0000

Your bug report

#44207: [PATCH] doc: Document the postgresql-config-file.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
44207: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=44207
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#44207] [PATCH] doc: Document the postgresql-config-file.
From: Christopher Baines <[email-masked]>
To: Miguel Ángel Arruga Vivas <[email-masked]>
Cc: [email-masked]
Date: Sun, 25 Oct 2020 11:06:20 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Miguel Ángel Arruga Vivas <[email-masked]> writes:

> Hi!
> Some comments inline.

Hey, thanks for the quick comments :)

> Christopher Baines <[email-masked]> writes:
>> +@deftp {Data Type} postgresql-config-file
>> +Data type representing the PostgreSQL configuration file.  As shown in
>> +the following example, this can be used to customise the configuration
>> +of PostgreSQL.  Note that you can use any G-expression or filename in
>> +place of this record, if you already have a configuration file you'd
>> +like to use for example.
>
> I'm pretty sure you should s/customise/customize/, as the manual is
> written in US English.

Indeed, old habits :)

> Also, I'd move the last sentence to the hba-file description as an
> example there, something like: "Filename or G-expression for the
> host-based authentication configuration.  If you already have a
> configuration file, you can use it here."

While the same is true for the hba-file, and ident-file bit, I wanted to
make this point for the postgresql-config-file record as a
whole. Hopefully that makes sense?

> [...]
>> +@item @var{log-destination} (default: @code{"syslog"})
> [...]
>> +@item @var{hba-file} (default: @code{%default-postgres-hba})
> [...]
>> +@item @var{ident-file} (default: @code{%default-postgres-ident})
> [...]
>> +@item @var{extra-config} (default: @code{'()})
>
> These should be @code, not @var, because they represent symbols from the
> configuration.  The typical use of @var is for arguments---e.g.
> @code{(call-something @var{param1} @var{param2})}---, whose names
> don't have a meaning outside the actual implementation, but these
> identifiers are symbols included in the API.

Ah, this is probably something I got wrong when documenting the
postgresql-configuration record, I wonder if I copied that from
somewhere else... anyway, I've fixed this now.

> Apart from that, LGTM. :-)

Great, I've pushed now with the above changes.

Subject: [PATCH] doc: Document the postgresql-config-file.
From: Christopher Baines <[email-masked]>
To: [email-masked]
Date: Sun, 25 Oct 2020 08:51:34 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

* doc/guix.texi (PostgreSQL): Document the postgresql-config-file record.
---
 doc/guix.texi | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index b5061877e2..726906c77d 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -18553,6 +18553,54 @@ required to add extensions provided by other packages.
 @end table
 @end deftp
 
+@deftp {Data Type} postgresql-config-file
+Data type representing the PostgreSQL configuration file.  As shown in
+the following example, this can be used to customise the configuration
+of PostgreSQL.  Note that you can use any G-expression or filename in
+place of this record, if you already have a configuration file you'd
+like to use for example.
+
+@lisp
+(service postgresql-service-type
+         (postgresql-configuration
+          (config-file
+           (postgresql-config-file
+            (log-destination "stderr")
+            (hba-file
+             (plain-file "pg_hba.conf"
+                         "
+local	all	all			trust
+host	all	all	127.0.0.1/32 	md5
+host	all	all	::1/128 	md5"))
+            (extra-config
+             '(("session_preload_libraries"     "'auto_explain'")
+               ("random_page_cost"              "2")
+               ("auto_explain.log_min_duration" "'100ms'")
+               ("work_mem"                      "'500MB'")
+               ("logging_collector"             "on")
+               ("log_directory"                 "'/var/log/postgresql'")))))))
+@end lisp
+
+@table @asis
+@item @var{log-destination} (default: @code{"syslog"})
+The logging method to use for PostgreSQL.  Multiple values are accepted,
+separated by commas.
+
+@item @var{hba-file} (default: @code{%default-postgres-hba})
+Filename or G-expression for the host-based authentication
+configuration.
+
+@item @var{ident-file} (default: @code{%default-postgres-ident})
+Filename or G-expression for the user name mapping configuration.
+
+@item @var{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
+is the key, and the remaining elements are the values.
+
+@end table
+@end deftp
+
 @subsubheading MariaDB/MySQL
 
 @deffn {Scheme Procedure} mysql-service [#:config (mysql-configuration)]
-- 
2.28.0