Re: First draft of PG 19 release notes
David Rowley <dgrowleyml@gmail.com>
On Mon, 20 Apr 2026 at 21:10, Bruce Momjian <bruce@momjian.us> wrote: > In that thread from PG 17, I said: > > https://www.postgresql.org/message-id/ZlKaHOM8HYLy9nCY%40momjian.us > > > Well, let's start with a new section for PG 17 that lists these. Is it > > 20 items, 50, or 150? I have no idea, but without the user-visible > > filter, I am unable to determine what not-included performance features > > are worthy of the release notes. I imagine it's easier to prune away items that are not interesting enough than to add ones that were skipped. Unless we get visibility of ones that you skipped, it requires someone else to notice something is missing (probably their own work), or it requires a complete parse of all commits in the release. > So, what is the filter I am supposed to use? We even have a patch that, > in aggregate, increases performance by 12-17%. Is that under or over > the threadshold to be included? I have no idea. And, even if we agree > on a number, how do I handle commits with no numbers; this commit > didn't have a number. That's going to be tricky to define. 2x performance increase in something like initdb isn't going to be nearly as interesting to an end user as making joins or aggregation go twice as fast. Maybe it would be worth putting temporary tags on items that there are no obvious performance numbers for to tell the author or committer that you need proof, otherwise the item might disappear. For items that might be more borderline worth adding, maybe those could also get added and tagged to trigger some debate as to if they're worth keeping around. In the end, we might see what it is you see with the bloated release notes. You might find you get more agreement to remove things. That's seldom requested with the current method. It seems reasonable that not many people can sympathise with the "there are too many items" problem, as by the time the notes go public, they're already trimmed down to a manageable number. We might find that we all agree on more things if the pruning is done more publicly. > I can't follow rules that require me to consistently identify if a patch > is a performance improvement, and if it is significant enough for the > release notes. If someone else can do that, please go ahead and stop > blaming me for something I can't do. I thought if it was easy, someone > else since PG 17 would have either given me rules or done it. I don't think anyone expects you to do anything that makes this job harder than it already. I expect a careful process change could make this job easier for you. > Can committers mention when they want something to be included in the > release notes? What we can do is to have all the hackers point out the > missing items after I done creating the release notes, as messy as that > is. I wondered if the job could be made easier if we were to tag fixup commits for commits that fix some recent feature commit. You could pretty much ignore every single one of those for the release notes. If that fixup information was more structured, it might also be very interesting. > One thing we can easily do is to add text to the release notes stating, > "This release includes minor performance improvements that are too > numerous to mention." If the WIP draft contained the items of lesser importance, we might be able to do some aggregation of those into something meaningful enough. It might be much easier for people closer to the particular items to aggregate them than it is for a single person to do it for all commits. I'm aware that you already do quite a bit of this aggregation already. David
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
doc PG 19 relnotes: remove VALIDATE CONSTRAINT lock item
- 2dab2ce3d781 19 (unreleased) landed
-
Fix ALTER DOMAIN VALIDATE CONSTRAINT locking
- 64797ad97d6e 19 (unreleased) cited
-
Revert "Enable fast default for domains with non-volatile constraints"
- a0354e29c41a 19 (unreleased) cited
-
doc PG 19 relnotes: improve awkward or confusing wording
- eb77a521996f 19 (unreleased) landed
-
doc PG 19 relnotes: more fixes
- 8656ba7f7187 19 (unreleased) landed
-
doc PG 19 relnotes: various corrections
- 1d751b4b6b01 19 (unreleased) landed
-
doc PG 19 relnotes: adjust item to mention pg_replication_slots
- cfedd4513357 19 (unreleased) landed
-
doc PG 19 relnotes: remove "Add fake LSN support to hash index"
- 41b60bf172ef 19 (unreleased) landed
-
doc PG 19 relnotes: add two optimizer hooks
- cac0f24eb57f 19 (unreleased) landed
-
doc PG 19 relnotes: remove "Optionally" for CPU optimizations
- 06fccab4c61b 19 (unreleased) landed
-
doc PG 19 relnotes: adjustments/removal of items
- 8974a7c433d3 19 (unreleased) landed
-
doc PG 19 relnotes: add UTF-8 case folding performance item
- 12ca57bf346f 19 (unreleased) landed
-
doc PG 19 relnotes: correct two items
- 2d773a9f005f 19 (unreleased) landed
-
doc PG 19 relnotes: add missing commits and details
- 4c0f1e491018 19 (unreleased) landed
-
doc PG 19 relnotes: fix typo, "date" -> "data"
- 158d8fadd79f 19 (unreleased) landed
-
doc PG 19 relnotes: add author and move items
- 191a037d4f2d 19 (unreleased) landed
-
doc PG 19 relnotes: update author
- af1ed03739fb 19 (unreleased) landed
-
doc PG 19 relnotes: add free space map all-visible item
- be324941262b 19 (unreleased) landed
-
doc PG 19 relnotes: remove "Lakshmi N" as author of checksums
- 75693dc5b72e 19 (unreleased) landed
-
doc PG 19 relnotes: fix "now targets"
- caebf165098f 19 (unreleased) landed
-
doc PG 19 relnotes: adjust ShmemRequestStruct item
- e70ac90d95a2 19 (unreleased) landed
-
Improve various new-to-v19 appendStringInfo calls
- 49ce41810fac 19 (unreleased) cited
-
doc: Fix data_checksums data type
- b364828f825a 19 (unreleased) cited
-
Fix WITHOUT OVERLAPS' interaction with domains.
- 4edd6036d69c 19 (unreleased) cited
-
Online enabling and disabling of data checksums
- f19c0eccae96 19 (unreleased) cited
-
Doc: split functions-posix-regexp section into multiple subsections.
- 00c025a00117 19 (unreleased) cited
-
make immutability tests in to_json and to_jsonb complete
- ecd9288624a1 19 (unreleased) cited
-
Optimize tuple deformation
- c456e3911380 19 (unreleased) cited
-
pgstattuple: Optimize pgstattuple_approx() with streaming read
- ae58189a4d52 19 (unreleased) cited
-
Use fake LSNs to improve nbtree dropPin behavior.
- 8a879119a1d1 19 (unreleased) cited
-
Use streaming read for VACUUM cleanup of GIN
- 6c228755add8 19 (unreleased) cited
-
Clean up ICU includes.
- af2d4ca191a4 19 (unreleased) cited
-
ICU: use UTF8-optimized case conversion API
- c4ff35f10441 19 (unreleased) cited
-
Add the MODE option to the WAIT FOR LSN command
- 49a181b5d634 19 (unreleased) cited
-
Speedup tuple deformation with additional function inlining
- 58a359e585d0 18.0 cited