On 15.06.23 00:55, Jeff Davis 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].

What happens if after this patch you continue to specify provider=libc and locale=C? Do you then get the "slow" path?

Should there be some logic in pg_dump to change the provider if locale=C?

What is the transition plan?



Reply via email to