On 9/12/25 1:11 PM, Jeff Davis wrote:
> On Tue, 2025-09-09 at 23:13 -0400, Jonathan S. Katz wrote:
>> Hi,
>>
>> Attached is a draft of the PostgreSQL 18 GA press release. A few
>> comments before the ask for reviewing:
>
> "This release adds the [`PG_UNICODE_FAST`], which accelerates lookups
> using the `upper` and `lower` string comparison functions, and helps
> speed up the new [`casefold`] function for case-insensitive
> comparisons."
>
> Use the link:
> https://www.postgresql.org/docs/18/collation.html#COLLATION-MANAGING-STANDARD
> which is a bit more descriptive. (Though perhaps that document could be
> improved with examples.)
>
> What's actually new with PG_UNICODE_FAST are the "full" Unicode
> semantics for case transformations, e.g. it uppercases 'ß' to 'SS'. The
> rest is the same as PC_C_UTF8, which uses "simple" Unicode semantics.
>
> The name PG_UNICODE_FAST is meant to convey that it provides full
> unicode semantics for case mapping and pattern matching, while also
> being fast because it uses memcmp for comparisons. While the name
> PG_C_UTF8 is meant to convey that it's closer to what users of the libc
> "C.UTF-8" locale might expect.
I went with breaking this up into two sentences:
This release adds the
[`PG_UNICODE_FAST`](https://www.postgresql.org/docs/18/collation.html#COLLATION-MANAGING-STANDARD),
which provides full Unicode semantics for case transformations while
helping to accelerate many comparisons. This includes the `upper` and
`lower` string comparison functions and the new
[`casefold`](https://www.postgresql.org/docs/18/functions-string.html#FUNCTIONS-STRING-OTHER)
function for case-insensitive comparisons.
Jonathan