On Thu, Jun 15, 2023 at 10:55 AM Jeff Davis <pg...@j-davis.com> wrote: > The locale "C" (and equivalently, "POSIX") is not really a libc locale; > it's implemented internally with memcmp for collation and > pg_ascii_tolower, etc., for ctype. > > The attached patch implements a new collation provider, "builtin", > which only supports "C" and "POSIX". It does not change the initdb > default provider, so it must be requested explicitly. The user will be > guaranteed that collations with provider "builtin" will never change > semantics; therefore they need no version and indexes are not at risk > of corruption. See previous discussion[1].
I haven't studied the details yet but +1 for this idea. It models what we are actually doing.