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 1uKgJn-0097Tr-0C for pgsql-hackers@arkaria.postgresql.org; Thu, 29 May 2025 16:41:23 +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 1uKgJk-00AZv0-Gz for pgsql-hackers@arkaria.postgresql.org; Thu, 29 May 2025 16:41:20 +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 1uKgJk-00AZur-6T for pgsql-hackers@lists.postgresql.org; Thu, 29 May 2025 16:41:20 +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 1uKgJi-000ZKn-0n for pgsql-hackers@lists.postgresql.org; Thu, 29 May 2025 16:41:19 +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=wjrsBP7MoGsKp6LJ81hLIfjaPsv0sShQ0MtJGWuD7dc=; b=B92S7 8m+hJM3pd3IDEq++73oXlBqnJlTKLIYCo6Tlwp6qcxvLX8AjZKUjhYL255K+jP0Z51mN3HRUb2ReI V5+mFFsEEMJFUvPHGDIqCnvykSkz63Xo8KGd7bZ0zQlpJwr28VqMP/Djr3uLNc6OEFx31C0RbuQNK jNMAyqsCXLbBzsdXJus3BUj3zsTX9E7zrdRSyIHtzUaIH9UQSXMHxIYXm8FmXaxcgH6FnirLN25mm a7sqc/FJQp24TpvLvcf2xI6PLm9Z4iU/oPHWl+eLN5kdvAM0bzCeQhliG1/VtkS28M+cu6lNDTwPr H3qhqB8A0BbS8v4X2Cpqmn6MJLMFA==; Received: from bruce by momjian.us with local (Exim 4.96) (envelope-from ) id 1uKgJh-00Bmeo-0K; Thu, 29 May 2025 12:41:17 -0400 Date: Thu, 29 May 2025 12:41:17 -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="n8NTxVJnFRypvY8a" Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --n8NTxVJnFRypvY8a Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Thu, May 29, 2025 at 09:42:30AM -0400, Melanie Plageman wrote: > > > "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. > > Maybe it is worth saying something at the end like "amongst other > operations" to clarify it isn't just those. I am not a fan of "etc." but in this case it makes sense, so added it in the attached, applied patch. > I noticed in the PG 17 release notes [1] we did include the shas of > each of the commits for the read stream users. Should we do that here > as well? Those are what enable those operations to use AIO. So, I added the read stream item to PG 17 since that was a new infrastructure feature, but for PG 18, we are just improving that internal infrastructure, so didn't mention it. If you think we should add those commits, I can do it. -- Bruce Momjian https://momjian.us EDB https://enterprisedb.com Do not let urgent matters crowd out time for investment in the future. --n8NTxVJnFRypvY8a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="master.diff" diff --git a/doc/src/sgml/release-18.sgml b/doc/src/sgml/release-18.sgml index 718f7b20bf1..3315ea52def 100644 --- a/doc/src/sgml/release-18.sgml +++ b/doc/src/sgml/release-18.sgml @@ -569,7 +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 feature allows backends to queue multiple read requests, which allows for more efficient sequential scans, bitmap heap scans, vacuums, etc. 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. --n8NTxVJnFRypvY8a--