Re: First draft of PG 19 release notes

Bruce Momjian <bruce@momjian.us>

From: Bruce Momjian <bruce@momjian.us>
To: Melanie Plageman <melanieplageman@gmail.com>
Cc: PostgreSQL-development <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-15T20:51:16Z
Lists: pgsql-hackers

Attachments

On Wed, Apr 15, 2026 at 01:56:50PM -0400, Melanie Plageman wrote:
> On Tue, Apr 14, 2026 at 9:19 PM Bruce Momjian <bruce@momjian.us> wrote:
> >
> > I have completed the first draft of the PG 19 release notes:
> >
> >         https://www.postgresql.org/docs/devel/release-19.html
> 
> As of b46e1e54d078def, SELECT queries may update the visibility map.
> Previously only vacuum did this. I think users may be confused by this
> if it is not mentioned in the release notes.

Yes, I puzzled on this one and I am glad you clarified its purpose.
I think it should be added, and I have applied the attached patch.

> Additionally, users may notice that there are no longer
> XLOG_HEAP2_VISIBLE records. A series of commits culminating in
> a881cc9c7e819fb (others being d96f87332b378, add323da40a6bf9e0,
> 1252a4ee2863673, a759ced2f1e) moved VM setting into the
> XLOG_HEAP2_PRUNE_VACUUM_SCAN record. Users may notice that
> XLOG_HEAP2_VISIBLE records are no longer produced.
> 
> This is more minor, but we also now (378a216187aea1) set pd_prune_xid
> on insert, so users may notice that a freshly inserted page is
> on-access pruned and then the VM is set (which wouldn't have happened
> before without vacuum).

Uh, I don't want to get into the internals too much in the release
notes, in fear of confusing/losing readers.  I think this is too
low-level to mention, but we now have a good "prune" item so if they see
big improvements, they will know why.

-- 
  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