18
Отслеживание изменений
Изменение библиотеки-провайдера приводит к проблемам
неправильная сортировка значений в индексах
сравнения строк в ограничениях целостности
сравнения строк в запросах
и т. д.
Номер версии библиотеки хранится в системном каталоге
При изменении установленной версии — предупреждение
libc не гарантирует стабильность и платформонезависимость версии
Если при изменении библиотеки-провайдера сравнение начинает
работать иначе, это может повлиять на используемые в базе данных
правила сортировки и вызвать проблемы:
- неправильную работу запросов из-за нарушения сортировки значений
в индексах;
- некорректные данные из-за изменившегося поведения при сравнении
строк в ограничениях целостности CHECK и триггерах;
- некорректные результаты из-за изменившегося поведения сравнения
строк в запросах, процедурном коде и политиках защиты строк.
Поэтому при использовании правил сортировки PostgreSQL будет
предупреждать о возможных проблемах, связанных с изменением
библиотек.
При создании правила текущий номер версии библиотеки сохраняется
в системном каталоге. При каждом использовании правила
сохраненный номер версии сверяется с текущим номером, и при
обнаружении расхождения запросы будут выдавать предупреждения
о несоответствии версий.
Если такая ситуация случилась, следует пересоздать индексы,
использующие измененные правила сортировки, а также проверить все
места, где используются правила сортировки.
Нужно помнить, что, в отличие от ICU, провайдер libc не гарантирует
одинаковую работу сортировки даже при совпадении версий
библиотеки.