On Fri, Sep 19, 2025 at 01:04:26PM -0400, Jonathan S. Katz wrote:
> On 9/19/25 12:50 PM, Nathan Bossart wrote:
>> +      An asynchronous I/O subsystem (AIO) that can improve performance of
>> +      sequential scans, bitmap heap scans, vacuums, and other operations.
>> 
>> I wondered whether we should put "(AIO)" before "subsystem", but I think
>> putting it next to "I/O" makes the line too busy.  Also, are there "other
>> operations", or is the rest of the list complete?
> 
> Will throw out the "we can just remove it" option like further down in the
> release notes, but figure we've put the AIO terminology out there enough it
> may be good to assign the too. Anyway, if we keep it, I'd suggest
> "asynchronous I/O (AIO)" given it's modifying that.

Done.

> For "other operations", the release notes have "etc." in them. But if we
> want to hedge, we can do:
> 
> ...that can improve performance of operations, including sequential scans,
> bitmap heap scans, and vacuums."

I left this alone.

>> +      <link linkend="pgupgrade"><application>pg_upgrade</application></link>
>> +      now maintains optimizer statistics through upgrade.
>> 
>> I think "retain" might be a better verb than "maintain", but the meaning
>> seems clear either way.  Also, while we could probably omit "through
>> upgrade", the small amount of redundancy does (IMHO) reinforce the meaning
>> a bit.
> 
> OK with "retains", and OK w/dropping "through upgrade".

Done.

>> +      Support for "skip scan" lookups that allow
>> +      <link linkend="indexes-multicolumn">multicolumn B-tree indexes</link> 
>> to
>> +      be used in more cases.
>> 
>> Passive voice.  Perhaps this should be "that allow using ... in more
>> cases."
> 
> Agreed switching to active voice.

Done.

>> +      <link linkend="sql-createtable-parms-generated-stored">generated 
>> columns</link>
>> +      that compute their values during read operations.  This is now the
>> +      default for generated columns.
>> 
>> I liked the phrase "just-in-time" for this because it expresses how it
>> works.  Perhaps we should squeeze that in before "during read operations".
> 
> I think "during" and "just-in-time" are equivalent here. Also wanted to be
> sensitive to the fact we already have a feature called "just-in-time"/"JIT"
> for compilation, and didn't want people to confuse the two.

I left this alone, too.

-- 
nathan
>From 5d59afe737b1016774583fb67598fed55f59213d Mon Sep 17 00:00:00 2001
From: Nathan Bossart <nat...@postgresql.org>
Date: Fri, 19 Sep 2025 11:23:46 -0500
Subject: [PATCH v5 1/1] Add list of major features to the v18 release notes.

Author: Nathan Bossart <nathandboss...@gmail.com>
Co-authored-by: "Jonathan S. Katz" <jk...@postgresql.org>
Reviewed-by: Peter Eisentraut <pe...@eisentraut.org>
Reviewed-by: Erik Rijkers <e...@xs4all.nl>
Reviewed-by: Robert Haas <robertmh...@gmail.com>
Discussion: https://postgr.es/m/aLMo7lJKg8bWUs3y%40momjian.us
Backpatch-through: 18 only
---
 doc/src/sgml/release-18.sgml | 60 +++++++++++++++++++++++++++++++++++-
 1 file changed, 59 insertions(+), 1 deletion(-)

diff --git a/doc/src/sgml/release-18.sgml b/doc/src/sgml/release-18.sgml
index 8f13786fe88..8811a6a1f33 100644
--- a/doc/src/sgml/release-18.sgml
+++ b/doc/src/sgml/release-18.sgml
@@ -21,7 +21,65 @@
 
     <listitem>
      <para>
-      (to be completed)
+      An asynchronous I/O (AIO) subsystem that can improve performance of
+      sequential scans, bitmap heap scans, vacuums, and other operations.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      <link linkend="pgupgrade"><application>pg_upgrade</application></link>
+      now retains optimizer statistics.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Support for "skip scan" lookups that allow using
+      <link linkend="indexes-multicolumn">multicolumn B-tree indexes</link> in
+      more cases.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      <link linkend="func_uuid_gen_table"><function>uuidv7()</function></link>
+      function for generating timestamp-ordered
+      <link linkend="datatype-uuid">UUIDs</link>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Virtual
+      <link linkend="sql-createtable-parms-generated-stored">generated 
columns</link>
+      that compute their values during read operations.  This is now the
+      default for generated columns.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      <link linkend="auth-oauth">OAuth authentication</link> support.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      <literal>OLD</literal> and <literal>NEW</literal> support for
+      <link linkend="dml-returning"><literal>RETURNING</literal></link> clauses
+      in <xref linkend="sql-insert"/>, <xref linkend="sql-update"/>,
+      <xref linkend="sql-delete"/>, and <xref linkend="sql-merge"/> commands.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Temporal constraints, or constraints over ranges, for
+      <link linkend="sql-createtable-parms-primary-key">PRIMARY KEY</link>,
+      <link linkend="sql-createtable-parms-unique">UNIQUE</link>, and
+      <link linkend="sql-createtable-parms-references">FOREIGN KEY</link>
+      constraints.
      </para>
     </listitem>
    </itemizedlist>
-- 
2.39.5 (Apple Git-154)

Reply via email to