On Wed, 2026-03-11 at 08:47 -0400, Robert Haas wrote:
> My experience is that when I tell people they can use
> collate "C" to speed up sorting, they tell me that's a stupid
> workaround that doesn't give them the answers that they want, which
> obviously colors my viewpoint on this question in the same way that
> your experiences color yours.
That makes sense - I would be surprised if everybody were happy with
the C collation's sort order. On the other hand, I have had lots of
reports about corrupted indexes that need rebuilding (only today one
person in my course mentioned it), and I find that people don't exactly
appreciate the prospect of having to rebuild dozens of indexes after
an upgrade, when they want to keep the down time short.
My vision of a better future is like this: PostgreSQL defaults to the
C collation. People will express unhappiness about the way names
get sorted. "Easy", we tell them, "change that column's collation to
a natural language collation". They do it and are happy.
The big advantage: if you have only two or three indexes in your
database that are sorted in a collation other than C, the likelihood
for index corruption will be way lower. For example, the unique
constraint on your part number column that contains values like
'XY-1-13*' or '*P1-12_A' (which are pretty likely to be affected by
the subtle changes in libc collations) will be sorted in the C
collation, which is just fine for everybody.
This approach to collations seems to work well for Oracle users,
so why not for us?
Yours,
Laurenz Albe