Re: First draft of PG 19 release notes

David Geier <geidav.pg@gmail.com>

From: David Geier <geidav.pg@gmail.com>
To: Bruce Momjian <bruce@momjian.us>
Cc: PostgreSQL-development <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-17T14:40:09Z
Lists: pgsql-hackers
On 16.04.2026 18:14, Bruce Momjian wrote:
>> 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?

Not all patches from the initial mail have been committed yet. Hence,
currently the speed up is less. However, once they got all committed
they would indeed open up new "use cases". For example, I know users
that don't add GIN indexes to very large tables because creating them
takes too long.

--
David Geier



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