Re: First draft of PG 17 release notes
Daniel Verite <daniel@manitou-mail.org>
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
Bruce Momjian wrote: > I have committed the first draft of the PG 17 release notes; you can > see the results here: > > https://momjian.us/pgsql_docs/release-17.html About the changes in collations: <quote> Create a "builtin" collation provider similar to libc's C locale (Jeff Davis) It uses a "C" locale which is identical but independent of libc, but it allows the use of non-"C" collations like "en_US" and "C.UTF-8" with the "C" locale, which libc does not. MORE? </quote> The new builtin provider has two collations: * ucs_basic which is 100% identical to "C". It was introduced several versions ago and the v17 novelty is simply to change its pg_collation.collprovider from 'c' to 'b'. * pg_c_utf8 which sorts like "C" but is Unicode-aware for the rest, which makes it quite different from "C". It's also different from the other UTF-8 collations that could be used up to v17 in that it does not depend on an external library, making it free from the collation OS-upgrade risks. The part that is concretely of interest to users is the introduction of pg_c_utf8. As described in [1]: <quote> pg_c_utf8 This collation sorts by Unicode code point values rather than natural language order. For the functions lower, initcap, and upper, it uses Unicode simple case mapping. For pattern matching (including regular expressions), it uses the POSIX Compatible variant of Unicode Compatibility Properties. Behavior is efficient and stable within a Postgres major version. This collation is only available for encoding UTF8. </quote> I'd suggest that the relnote entry should be more like a condensed version of that description, without mentioning en_US or C.UTF-8, whose existence and semantics are OS-dependent, contrary to pg_c_utf8. [1] https://www.postgresql.org/docs/devel/collation.html Best regards, -- Daniel Vérité https://postgresql.verite.pro/ Twitter: @DanielVerite