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)