Re: PostgreSQL 18 GA press release draft - Mailing list pgsql-hackers

From Jonathan S. Katz
Subject Re: PostgreSQL 18 GA press release draft
Date
Msg-id 551993e5-74e4-44a6-a549-7ba191a6b215@postgresql.org
Whole thread Raw
In response to Re: PostgreSQL 18 GA press release draft  (Jeff Davis <pgsql@j-davis.com>)
List pgsql-hackers
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

Attachment

pgsql-hackers by date:

Previous
From: Konstantin Knizhnik
Date:
Subject: Re: Orphan page in _bt_split
Next
From: Xuneng Zhou
Date:
Subject: Re: Implement waiting for wal lsn replay: reloaded