utf8
jest kodowaniem (jak reprezentować znaki Unicode jako serię bajtów), a nie sortowaniem (który znak poprzedza który).
Myślę, że odpowiednik sortowania Postgres 10 dla utf8_general_ci
(lub bardziej nowoczesny utf8_unicode_ci
) nazywa się und-x-icu
- jest to niezdefiniowane zestawienie (nie zdefiniowane dla żadnego języka świata rzeczywistego) dostarczane przez bibliotekę ICU. To zestawienie posortuje całkiem rozsądne znaki z większości języków.
Obsługa ICU to nowa funkcja dodana w PostgreSQL 10, więc to sortowanie nie jest dostępne dla starszych wersji PostgreSQL lub gdy jest wyłączone podczas kompilacji. Wcześniej Postgres korzystał z obsługi sortowania dostarczanego przez system operacyjny, która różni się w zależności od systemu operacyjnego.