Re: First draft of PG 17 release notes
Peter Geoghegan <pg@bowt.ie>
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Revert support for ALTER TABLE ... MERGE/SPLIT PARTITION(S) commands
- 3890d90c1508 18.0 cited
-
When creating materialized views, use REFRESH to load data.
- b4da732fd64e 17.0 cited
-
Revert temporal primary keys and foreign keys
- 8aee330af55d 17.0 cited
-
Avoid needless large memcpys in libpq socket writing
- c4ab7da60617 17.0 cited
-
Enhance nbtree ScalarArrayOp execution.
- 5bf748b86bc6 17.0 cited
-
Introduce a non-recursive JSON parser
- 3311ea86edc7 17.0 cited
-
Combine freezing and pruning steps in VACUUM
- 6dbb490261a6 17.0 cited
-
Allow SIGINT to cancel psql database reconnections.
- cafe1056558f 17.0 cited
-
Provide API for streaming relation data.
- b5a9b18cd0bc 17.0 cited
-
Add hash support functions and hash opclass for contrib/ltree.
- 485f0aa85995 17.0 cited
-
Pull up ANY-SUBLINK with the necessary lateral support.
- 9f133763961e 17.0 cited
-
Read WAL directly from WAL buffers.
- 91f2cae7a4e6 17.0 cited
-
Introduce the dynamic shared memory registry.
- 8b2bcf3f287c 17.0 cited
-
Add macros for looping through a List without a ListCell.
- 14dd0f27d7cd 17.0 cited
-
Support +/- infinity in the interval data type.
- 519fc1bd9e9d 17.0 cited
-
Extend ALTER OPERATOR to allow setting more optimization attributes.
- 2b5154beab79 17.0 cited
-
Consider cheap startup paths in add_paths_to_append_rel
- a8a968a8212e 17.0 cited
On Wed, May 15, 2024 at 11:48 PM Andres Freund <andres@anarazel.de> wrote: > On 2024-05-15 10:38:20 +0200, Alvaro Herrera wrote: > > I disagree with this. IMO the impact of the Sawada/Naylor change is > > likely to be enormous for people with large tables and large numbers of > > tuples to clean up (I know we've had a number of customers in this > > situation, I can't imagine any Postgres service provider that doesn't). > > The fact that maintenance_work_mem is no longer capped at 1GB is very > > important and I think we should mention that explicitly in the release > > notes, as setting it higher could make a big difference in vacuum run > > times. > > +many. TIDStore/the lifting of the maintenance_work_mem cap is likely to make the performance of VACUUM a lot more predictable, overall. While most VACUUM operations don't hit the limit, the limit is disproportionately involved in cases where (for whatever reason) vacuuming becomes a long and painful process. Even if you as a user never run into such a problem, you still spend time worrying about it, and/or taking measures to make sure it doesn't affect you. The justification for not including mention of these items is that they're not very relevant to users. I find that hard to square with what does get included. For example, the "Source Code" section is full of highly niche items. Items that are low impact, even for users that'll benefit the most. Also, "Monitoring" often mentions monitoring improvements that expose low-level implementation details (e.g. SLRU statistics), even though there's a good chance that Bruce wouldn't include an item for some improvement to the SLRU subsystem itself. If somebody puts in an enormous amount of effort to get a big performance improvement over the line, then ISTM that that effort is a useful signal when the time comes to write the release notes (at least up to a point). For example, Masahiko and John spent about 2 years on the TIDStore thing, on and off. These things do not happen in a vacuum (no pun intended). Common sense tells me that they went to those lengths precisely because they understood that it very much was relevant to users. That belief would have been reinforced by both experience, and by discussion on the list during the development of the feature. To be fair to Bruce, it probably really is true that most individual users won't care about (say) TIDStore. But it's probably also true that most individual users don't care about the release notes, or at most skim the major items. -- Peter Geoghegan