Re: First draft of PG 19 release notes

Bruce Momjian <bruce@momjian.us>

From: Bruce Momjian <bruce@momjian.us>
To: David Geier <geidav.pg@gmail.com>
Cc: PostgreSQL-development <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-16T16:14:04Z
Lists: pgsql-hackers
On Thu, Apr 16, 2026 at 08:38:45AM +0200, David Geier wrote:
> Hi Bruce!
> 
> On 15.04.2026 03:18, Bruce Momjian wrote:
> > I have completed the first draft of the PG 19 release notes:
> > 
> > 	https://www.postgresql.org/docs/devel/release-19.html
> > 
> > The feature count is 212.  The recent average is 200:
> > 
> > 	https://momjian.us/main/writings/pgsql/missing.pdf#page=3
> > 
> 
> How about also including the improvements we did for reducing GIN index
> build times, see [1]? Not all patches have been committed yet but the
> ones that got committed already make a meaningful difference.
> 
> [1]
> https://www.postgresql.org/message-id/flat/5d366878-2007-4d31-861e-19294b7a583b%40gmail.com

This is an interesting case.  First, I looked at the commit logs and
didn't see anything talking about improving the speed of GIN index
builds.  So then I looked at the first email in the thread and saw 3x
improvement for pg_trgm, so I looked in the commit logs for pg_trgm and
didn't see any speedup mentioned.

I then looked at the posted patches and this might be a case where there
are a number of targeted improvements that didn't specify the larger
goal, so there is no goal mentioned in the commit logs.  This is an edge
case that is hard to get into the release notes.

Now that you have told me about it, here is my normal criteria for
adding performance items to the release notes:

	Performance improvements are mentioned in the release notes if
	they are user-visible (e.g., new syntax) or significant enough
	to enable new workloads.

So, it seems there is no user-visible change, except it is faster.  Does
it enable new workloads?  A 3x speedup probably does.  Should this be a
pg_trgm item, with a description mentioning GIN in general, or should it
be a GIN item, perhaps mentioning pg_trgm?  Do you have any suggested
text and list of commits?

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

  Do not let urgent matters crowd out time for investment in the future.



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. doc PG 19 relnotes: remove VALIDATE CONSTRAINT lock item

  2. Fix ALTER DOMAIN VALIDATE CONSTRAINT locking

  3. Revert "Enable fast default for domains with non-volatile constraints"

  4. doc PG 19 relnotes: improve awkward or confusing wording

  5. doc PG 19 relnotes: more fixes

  6. doc PG 19 relnotes: various corrections

  7. doc PG 19 relnotes: adjust item to mention pg_replication_slots

  8. doc PG 19 relnotes: remove "Add fake LSN support to hash index"

  9. doc PG 19 relnotes: add two optimizer hooks

  10. doc PG 19 relnotes: remove "Optionally" for CPU optimizations

  11. doc PG 19 relnotes: adjustments/removal of items

  12. doc PG 19 relnotes: add UTF-8 case folding performance item

  13. doc PG 19 relnotes: correct two items

  14. doc PG 19 relnotes: add missing commits and details

  15. doc PG 19 relnotes: fix typo, "date" -> "data"

  16. doc PG 19 relnotes: add author and move items

  17. doc PG 19 relnotes: update author

  18. doc PG 19 relnotes: add free space map all-visible item

  19. doc PG 19 relnotes: remove "Lakshmi N" as author of checksums

  20. doc PG 19 relnotes: fix "now targets"

  21. doc PG 19 relnotes: adjust ShmemRequestStruct item

  22. Improve various new-to-v19 appendStringInfo calls

  23. doc: Fix data_checksums data type

  24. Fix WITHOUT OVERLAPS' interaction with domains.

  25. Online enabling and disabling of data checksums

  26. Doc: split functions-posix-regexp section into multiple subsections.

  27. make immutability tests in to_json and to_jsonb complete

  28. Optimize tuple deformation

  29. pgstattuple: Optimize pgstattuple_approx() with streaming read

  30. Use fake LSNs to improve nbtree dropPin behavior.

  31. Use streaming read for VACUUM cleanup of GIN

  32. Clean up ICU includes.

  33. ICU: use UTF8-optimized case conversion API

  34. Add the MODE option to the WAIT FOR LSN command

  35. Speedup tuple deformation with additional function inlining