Автор Тема: AltLinux 4 server + PostgreSQL  (Прочитано 1473 раз)

Оффлайн PSV

  • Участник
  • *
  • Сообщений: 361
AltLinux 4 server + PostgreSQL
« : 21.01.2010 07:51:31 »
PostgreSQL:8.3.5 , AltLinux 4 server, все lc_ = ru_RU.WIN1251 server encoding тоже
Как включить или переключить сортировку в режим алфавитной? То-есть учитывающей пробелы и прочие символы. Для Fbsd есть спец патч. Под Альтами непонятно.

Оффлайн PSV

  • Участник
  • *
  • Сообщений: 361
Re: AltLinux 4 server + PostgreSQL
« Ответ #1 : 21.01.2010 11:27:41 »
Если я правильно понимаю, то нужно правильно перенастроить LC_COLLATE, поскольку sort и прочие сортировки строк берутся именно оттуда.
Спецы, проконсультируйте, как?

Оффлайн misha

  • Участник
  • *
  • Сообщений: 6
    • Rattler
Re: AltLinux 4 server + PostgreSQL
« Ответ #2 : 27.01.2010 14:07:39 »
При создании кластера (initdb) нужно а) указать корректную локаль и б) создавать базы с соответствующей кодировкой (createdb -E WIN ...).

Для работы с ru_RU.CP1251 в Server 4.0 должен сработать такой сценарий:
$ service postgresql stop
$ mv /var/lib/pgsql/data /path/to/backup
$ echo "LANG=ru_RU.CP1251" > /var/lib/pgsql/.i18n
$ echo "LC_ALL=ru_RU.CP1251" >> /var/lib/pgsql/.i18n
$ service postgresql start

При этом в postgresql.conf  тот же lc_collate должен установиться в ru_RU.CP1251.

Дальше создаем базу в нужной кодировке и работаем с ней.
$ createdb -U postgres -E WIN1251 mydb