Подозреваю, что проблема кроется где-то в collate-ах.
Смутно представляю себе что это такое, сейчас мне это представляется неким набором правил сортировки с функций работы с регистром символов. Вот видимо для пользователя postgres этот коллэйт отличается от установленного для БД.
Домашний каталог для postrgres установлен в /var/lib/pgsql
там есть файл .i18n . Подозреваю, что правильно исправив этот файл, получу нужный результат.
в нем заданы три параметра:
PG_DEFAULT_DB_ENCODING=KOI8
PG_SERVER_LOCALE=ru_RU.KOI8-R
и отдельно ниже:
# Настройка языкового окружения пользователя postgres
LANG=POSIX
Исправил POSIX на ru_RU
привело к тому что функция lower("Абонент") возвращает "АБОНЕНт".
Зато по крайней мере похоже, что я двигаюсь в правильном направлении.
Кто понимает, что такое локаль и коллэйт помогите!
Что-то не могу найти ничего в инете освещающего данные термины )