Основные изменения в методе сортировки glibc на Ubuntu 18.04 после обновления до Ubuntu 18.04.5

У меня был Ubuntu 18.04.0 с Postgres 9.6.

До обновления Ubuntu результатом команды было:

vodka@ubuntu140:~$  ( echo "1-1"; echo "11" ) | LC_COLLATE=en_US.UTF-8 sort
1-1
11

Но после обновления Ubuntu 18.04 до последней версии через apt-обновление (18.04.5) результат вышеприведенной команды полностью изменился:

vodka@ubuntu140:~$ ( echo "1-1"; echo "11" ) | LC_COLLATE=en_US.UTF-8 sort
11
1-1

В связи с этим наша производственная база данных Postgres начала работать очень медленно, и у нас был длительный простой в работе REINDEX. Метод сортировки очень важен для БД Postgres: https://wiki.postgresql.org/wiki/Locale_data_changes

Пожалуйста, ознакомьтесь с разделом "Тестировочная сверка".

Является ли это нормальным поведением для Ubuntu? Почему glibc полностью изменился в выпуске LTS без 'major upgrade'? Я не ожидал этого...

1
задан 25 February 2021 в 20:17

1 ответ

Почему Glibc полностью изменился в пределах выпуска LTS без «основного модернизации»?

Это не так.

18.04.5 основан на Glibc-2.27, который все еще имеет «старый» Unicode CLDR .

Обновленный CLDR поставляется с Glibc-2.28.

Результат, который вы получаете с 18.04.5, кажется законным, тогда как в результате вы упоминаете 18.04.0, странно, как будто более старый выпуск имел более новую библиотеку Glibc, а 18.04.0 => 18.04.5 сделал понижение Отказ

Другими словами, результатом вы упоминаете, как старый, на самом деле новый (в будущем с точки зрения 18.04), и результат, который вы упоминаете, как новый старый.

1
ответ дан 18 March 2021 в 23:30

Другие вопросы по тегам:

Похожие вопросы: