On Fri, 2023-04-21 at 13:28 -0400, Tom Lane wrote: > I am wondering however whether this doesn't mean that all our > carefully > coded fast paths for C locale just went down the drain.
The code still exists. You can test it by using the built-in collation "C" which is correctly specified with collprovider=libc and collcollate=C. For my test dataset, ICU 72, glibc 2.35: -- ~07s explain analyze select t from a order by t collate "C"; -- ~15s explain analyze select t from a order by t collate "en-US-x-icu"; -- ~21s explain analyze select t from a order by t collate "en-US-u-va-posix- x-icu"; -- ~34s explain analyze select t from a order by t collate "en_US"; I believe the confusion in this thread comes from: * The syntax of CREATE DATABASE (the same as v15 but still confusing) * The fact that you need provider=libc to get memcmp() behavior (same as v15 but still confusing) Regards, Jeff Davis