Re: PG 16 draft release notes ready

Bruce Momjian <bruce@momjian.us>

From: Bruce Momjian <bruce@momjian.us>
To: Andres Freund <andres@anarazel.de>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2023-05-22T02:46:58Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Revert MAINTAIN privilege and pg_maintain predefined role.

  2. doc: PG 16 relnotes, remove "Have initdb use ICU by default"

  3. initdb: change default --locale-provider back to libc.

  4. doc: PG 16 relnotes, add author

  5. doc: PG 16 relnotes, move memory item and reword OUTER item

  6. doc: PG 16 relnotes, add memory overhead reduction item

  7. doc: PG 16 relnotes, adjust subscription origin mention

  8. doc: PG 16 relnotes, adjust auto_explain logging item

  9. doc: PG 16 relnotes: adjust outer/full hash join parallelization

  10. doc: PG 16 relnotes, fix duplicate author and commit

  11. doc: PG 16 relnotes, fix "locale" typo and windows locale text

  12. doc: PG 16 relnotes, add author from previous merge

  13. doc: PG 16 relnotes, wording adjustments

  14. doc: PG 16 relnotes, merge and move vector items

  15. doc: PG 16 relnotes, update xid/subxid searches item

  16. doc: PG 16 relnotes, SIMD improvements

  17. doc: PG 16 relnotes, add major features list

  18. doc: PG 16 relnotes, misc merged items and bootstrap detail

  19. doc: PG 16 relnotes, misc. updates

  20. doc: PG 16 relnotes, add commits

  21. Allow logical decoding on standbys

  22. Fix ts_headline() edge cases for empty query and empty search text.

  23. Add a hook for modifying the ldapbind password

  24. Rework design of functions in pg_walinspect

  25. initdb: derive encoding from locale for ICU; similar to libc.

  26. Doc: add XML ID attributes to <sectN> and <varlistentry> tags.

  27. Simplify the implementations of the to_reg* functions.

  28. Rename pg_dissect_walfile_name() to pg_split_walfile_name()

  29. Make materialized views participate in predicate locking

  30. Improve performance of and reduce overheads of memory management

  31. Allow grant-level control of role inheritance behavior.

On Sun, May 21, 2023 at 10:13:41AM -0700, Andres Freund wrote:
> Hi,
> 
> Thanks for the release notes!
> 
> > <!--
> > Author: Andres Freund <andres@anarazel.de>
> > 2023-04-06 [00d1e02be] hio: Use ExtendBufferedRelBy() to extend tables more eff
> > Author: Andres Freund <andres@anarazel.de>
> > 2023-04-06 [26158b852] Use ExtendBufferedRelTo() in XLogReadBufferExtended()
> > -->
> > 
> > <listitem>
> > <para>
> > Allow more efficient addition of multiple heap and index pages (Andres Freund)
> > </para>
> > </listitem>
> 
> While the case of extending by multiple pages improved the most, even
> extending by a single page at a time got a good bit more scalable. Maybe just
> "Improve efficiency of extending relations"?

Okay, I made this change:

	-Allow more efficient addition of multiple heap and index pages (Andres Freund)
	+Allow more efficient addition of heap and index pages (Andres Freund)

> I think:
> 
> > <!--
> > Author: Andres Freund <andres@anarazel.de>
> > 2023-04-08 [0fdab27ad] Allow logical decoding on standbys
> > -->
> > 
> > <listitem>
> > <para>
> > Allow logical decoding on standbys (Bertrand Drouvot, Andres Freund, Amit Khandekar)
> > </para>
> > </listitem>
> 
> pretty much includes:
> 
> > <!--
> > Author: Andres Freund <andres@anarazel.de>
> > 2023-04-07 [be87200ef] Support invalidating replication slots due to horizon an
> > Author: Andres Freund <andres@anarazel.de>
> > 2023-04-08 [26669757b] Handle logical slot conflicts on standby
> > -->
> > 
> > <listitem>
> > <para>
> > Allow invalidation of replication slots due to row removal, wal_level, and conflicts (Bertrand Drouvot, Andres Freund, Amit Khandekar)
> > </para>
> 
> as it is a prerequisite.

Okay, I merged the commit entries and the authors, and removed the item.

> I'd probably also merge
> 
> > <!--
> > Author: Andres Freund <andres@anarazel.de>
> > 2023-04-08 [0fdab27ad] Allow logical decoding on standbys
> > -->
> > 
> > <listitem>
> > <para>
> > Add function pg_log_standby_snapshot() to force creation of a WAL snapshot (Bertrand Drouvot)
> > </para>
> > 
> > <para>
> > WAL snapshots are required for logical slot creation so this function speeds their creation on standbys.
> > </para>
> > </listitem>
> 
> As there really isn't a use case outside of logical decoding on a standby.

Okay new merged item is:

	<!--
	Author: Andres Freund <andres@anarazel.de>
	2023-04-08 [0fdab27ad] Allow logical decoding on standbys
	Author: Andres Freund <andres@anarazel.de>
	2023-04-07 [be87200ef] Support invalidating replication slots due to horizon an
	Author: Andres Freund <andres@anarazel.de>
	2023-04-08 [26669757b] Handle logical slot conflicts on standby
	Author: Andres Freund <andres@anarazel.de>
	2023-04-08 [0fdab27ad] Allow logical decoding on standbys
	-->
	
	<listitem>
	<para>
	Allow logical decoding on standbys (Bertrand Drouvot, Andres Freund, Amit Khandekar, Bertrand Drouvot)
	</para>
	</listitem>
	
	<listitem>
	<para>
	New function pg_log_standby_snapshot() forces creation of WAL snapshots.
	Snapshots are required for logical slot creation so this function speeds their creation on standbys.
	</para>
	</listitem>

> > <!--
> > Author: Andres Freund <andres@anarazel.de>
> > 2022-07-17 [089480c07] Default to hidden visibility for extension libraries whe
> > Author: Andres Freund <andres@anarazel.de>
> > 2022-07-17 [8cf64d35e] Mark all symbols exported from extension libraries PGDLL
> > -->
> > 
> > <listitem>
> > <para>
> > Prevent extension libraries from export their symbols by default (Andres Freund, Tom Lane)
> > </para>
> > </listitem>
> 
> s/export/exporting/?

Seems Tom's patch already fixed that.

> Looking through the release notes, I didn't see an entry for
> 
> commit c6e0fe1f2a08505544c410f613839664eea9eb21
> Author: David Rowley <drowley@postgresql.org>
> Date:   2022-08-29 17:15:00 +1200
>  
>     Improve performance of and reduce overheads of memory management
> 
> even though I think that's one of the more impactful improvements. What was
> the reason for leaving that out?

If you read my previous email:

> For the above two items, I mention items that would change user 
> like new features or changes that are significant enough that they would
> change user behavior.  For example, if a new join method increases
> performance by 5x, that could change user behavior.  Based on the quoted
> numbers above, I didn't think "hash now faster" would be appropriate to
> mention.  Right?

I can see this item as a big win, but I don't know how to describe it in a way
that is helpful for the user to know.

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

  Only you can decide what is important to you.