Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uKTL6-004OHa-En for pgsql-hackers@arkaria.postgresql.org; Thu, 29 May 2025 02:49:52 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1uKTL5-004z3e-3c for pgsql-hackers@arkaria.postgresql.org; Thu, 29 May 2025 02:49:51 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uKTL4-004yzn-OV for pgsql-hackers@lists.postgresql.org; Thu, 29 May 2025 02:49:50 +0000 Received: from momjian.us ([72.94.173.45]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1uKTL2-000TOI-1f for pgsql-hackers@lists.postgresql.org; Thu, 29 May 2025 02:49:49 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=momjian.us; s=2025010100; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description; bh=ozuce4znujOX5G6F5VkJRQHGUA9LUAIo0/Yo9xMBclU=; b=Xsfer MLOaq/IeLTLPCaW+y0fuKPMBe3QCxQ5l0KwneTYRvVnuScf9WjltCvus0Flgp+kZ4n+j1cooOf8nc nzOa3UKl4jNDJe1zzqoTDOoSwFexxQ6QBpstEbO0oQ/x4x2RNC2r4Uc7BwmHB1EaGRdbcJdSdh09U Fyp7rhKwLscURHsik/BOAM3PZM31W28jrTDJCoEzO6dhMLRSf6qUIpVJaC5HdWqCWXDTl5E6wjpfr fIiuty+1L2mH3JphztFh01PB/f1Uqx1YURLRUo5WY3Io+SovqEFNJc3mHOnJ7BTxd7e/R2jPUcpcU +yzKwG5t7TDYuzWGs7RlBv+n6RysA==; Received: from bruce by momjian.us with local (Exim 4.96) (envelope-from ) id 1uKTL1-002Mya-1c; Wed, 28 May 2025 22:49:47 -0400 Date: Wed, 28 May 2025 22:49:47 -0400 From: Bruce Momjian To: Melanie Plageman Cc: PostgreSQL-development Subject: Re: PG 18 release notes draft committed Message-ID: References: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="SFcaSKen98ZggsUn" Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --SFcaSKen98ZggsUn Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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 https://momjian.us EDB https://enterprisedb.com Do not let urgent matters crowd out time for investment in the future. --SFcaSKen98ZggsUn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="master.diff" commit a1de1b0833b Author: Bruce Momjian 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=yGaoYJMXXyCEkR7pumAH3Jg@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 +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. Increase the logging granularity of server variable log_connections (Melanie Plageman) § -§ @@ -698,6 +696,18 @@ This server variable was previously only boolean; these options are still suppo + + + + +Add log_connections option to report the duration of connection stages (Melanie Plageman) +§ + + +