On Wed, May 28, 2025 at 08:07:20PM -0400, Melanie Plageman wrote:
> For the item:
> 
> "Increase the logging granularity of server variable log_connections"
> 
> I noticed that you cite the commit 9219093cab2 that actually does
> modularize the GUC but you also cite a separate following commit
> 18cd15e706ac which adds a new option that logs the duration of various
> parts of connection establishment and backend setup. That is, it is a
> separate feature.
> 
> 9219093cab2 made it so we could add options and have them be
> individually enabled or disabled in logging. But 18cd15e706ac is only
> related insomuch as we probably wouldn't have added it if
> log_connections had been just a boolean and it was enabled by default.
> 
> Anyway, it might be worth separately calling out that now you can
> configure log_connections to log the durations of various parts of
> connection establishment and backend setup -- which is a distinct
> feature from modularization.

Yes, I can now see it is two items so I have split it into two in the
attached, applied patch.  In a separate commit I adjusted the docs for
log_connections to more clearly explain the new "setup_durations"
output.

> For the item:
> 
> "Add an asynchronous I/O subsystem"
> 
> I notice we don't call out any of the operations where users could
> expect to see asynchronous IO be used. Some were enabled in 17 (like
> sequential scans, analyze, and pg_prewarm), but most of the read
> stream users went in this release:
> 
> d9c7911e1a5, 043799fa08c, e215166c9c8, 69273b818b1, c5c239e26e3,
> 2b73a8cd33b, 9256822608f, c3e775e608f, 8720a15e9ab12, 65c310b310a
> 
> I have had users ask me already which operations they can expect to
> use asynchronous I/O. The most commonly encountered AIO operations are
> probably be vacuum, bitmap heap scan, and sequential scans, but it
> might be worth having a list somewhere of what uses AIO. I expect
> we'll get the question quite often.

Yes, I knew I needed more detail on this.  I have added text in this
commit to try to improve that.

> And finally, for the item:
> 
> "Allow specification of the fixed number of dead tuples that will
> trigger an autovacuum"
> 
> We also added a kind of corollary for insert-triggered vacuums in
> 06eae9e6218ab2a which attempts to deal with a similar problem of big
> tables not being autovacuumed enough but for insert-mostly tables.
> Perhaps because there is no exposed configuration it is not worth
> mentioning, but I thought I would bring it up since their purposes are
> related.

I studied this and I can't figure out how to clearly explain it in a
useful way.  I am now thinking it is more of a bug or behavior fix or
that would not be usually mentioned.

-- 
  Bruce Momjian  <br...@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  Do not let urgent matters crowd out time for investment in the future.
commit a1de1b0833b
Author: Bruce Momjian <br...@momjian.us>
Date:   Wed May 28 22:43:13 2025 -0400

    doc PG 18 relnotes: split apart log_connections item
    
    Also add details to asynchronous I/O item.
    
    Reported-by: Melanie Plageman
    
    Discussion: https://postgr.es/m/CAAKRu_YsVvyantS0X0Y_-vp_97=ygaoyjmxxycekr7pumah...@mail.gmail.com

diff --git a/doc/src/sgml/release-18.sgml b/doc/src/sgml/release-18.sgml
index 83ff2225396..718f7b20bf1 100644
--- a/doc/src/sgml/release-18.sgml
+++ b/doc/src/sgml/release-18.sgml
@@ -569,6 +569,7 @@ Add an asynchronous I/O subsystem (Andres Freund, Thomas Munro, Nazir Bilal Yavu
 </para>
 
 <para>
+This feature allows backends to queue multiple read requests, which allows for more efficient sequential scans, bitmap heap scans, and vacuums.
 This is enabled by server variable io_method, with server variables io_combine_limit and io_max_combine_limit added to control it.  This also enables
 effective_io_concurrency and maintenance_io_concurrency values greater than zero for systems without fadvise() support.  The new system view pg_aios shows the file handles being used
 for asynchronous I/O.
@@ -682,15 +683,12 @@ This more accurately reflects modern hardware.
 <!--
 Author: Melanie Plageman <melanieplage...@gmail.com>
 2025-03-12 [9219093ca] Modularize log_connections output
-Author: Melanie Plageman <melanieplage...@gmail.com>
-2025-03-12 [18cd15e70] Add connection establishment duration logging
 -->
 
 <listitem>
 <para>
 Increase the logging granularity of server variable log_connections (Melanie Plageman)
 <ulink url="&commit_baseurl;9219093ca">&sect;</ulink>
-<ulink url="&commit_baseurl;18cd15e70">&sect;</ulink>
 </para>
 
 <para>
@@ -698,6 +696,18 @@ This server variable was previously only boolean;  these options are still suppo
 </para>
 </listitem>
 
+<!--
+Author: Melanie Plageman <melanieplage...@gmail.com>
+2025-03-12 [18cd15e70] Add connection establishment duration logging
+-->
+
+<listitem>
+<para>
+Add log_connections option to report the duration of connection stages (Melanie Plageman)
+<ulink url="&commit_baseurl;18cd15e70">&sect;</ulink>
+</para>
+</listitem>
+
 <!--
 Author: Tom Lane <t...@sss.pgh.pa.us>
 2025-04-07 [3516ea768] Add local-address escape "%L" to log_line_prefix.

Reply via email to