Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
lec
Зарегистрирован: 02.09.2005 Сообщения: 2
|
Добавлено: Пт Сен 02 2005 14:03 Заголовок сообщения: Сортировка записай в PostgreSQL |
|
|
Уважаемый ALL, помогите ламеру.
Очень нужно, чтобы в PostgreSQL (под Windows) работала соритровка украинских записей. Кодировка для базы установлена WIN..
Не работает также ф-я LOWER.
Когда я выбираю записи запросом
select name,surname from users order by surname
сначала идут фамилии на "І", потом на "Є", а потом толко начинается нормальный алфавитный порядок остальных записей.
В документации я находил информацию о том, что можно сменить значение параметра lc_collate, но как только я вставляю
этот параметр в конфигурационный файл база перестает загружаться. Такое ощущение, что PostgreSQL 8.0.3 вообще не знает
такого параметра. Вот фрагмент моего файла postgres.conf:
# - Locale and Formatting -
#datestyle = 'iso, mdy'
#timezone = unknown # actually, defaults to TZ environment setting
#australian_timezones = false
#extra_float_digits = 0 # min -15, max 2
#client_encoding = sql_ascii # actually, defaults to database encoding
# These settings are initialized by initdb -- they might be changed
lc_messages = 'Ukrainian_Ukraine.1251' # locale for system error message strings
lc_monetary = 'Ukrainian_Ukraine.1251' # locale for monetary formatting
lc_numeric = 'Ukrainian_Ukraine.1251' # locale for number formatting
lc_time = 'Ukrainian_Ukraine.1251' # locale for time formatting
#=== вставленное (начало) ======================
#lc_collate = 'uk_UA.KOI8-U'
#=== вставленное (конец)======================
# - Other Defaults -
#explain_pretty_print = true
#dynamic_library_path = '$libdir'
Заранее очень благодарен. |
|
Вернуться к началу |
|
 |
C37
Зарегистрирован: 09.03.2005 Сообщения: 311
|
Добавлено: Пт Сен 02 2005 19:21 Заголовок сообщения: Re: Сортировка записай в PostgreSQL |
|
|
lec писал(а): |
# These settings are initialized by initdb -- they might be changed
lc_messages = 'Ukrainian_Ukraine.1251' # locale for system error message strings
lc_monetary = 'Ukrainian_Ukraine.1251' # locale for monetary formatting
lc_numeric = 'Ukrainian_Ukraine.1251' # locale for number formatting
lc_time = 'Ukrainian_Ukraine.1251' # locale for time formatting
#=== вставленное (начало) ======================
#lc_collate = 'uk_UA.KOI8-U'
#=== вставленное (конец)======================
# - Other Defaults -
#explain_pretty_print = true
#dynamic_library_path = '$libdir'
|
Логика подсказывет, что lc_collate должно быть тоже Ukrainian_Ukraine.1251, а не uk_UA.KOI8-U. Во всяком случае, кодировка должна совпадать, даже если для сортировки используются правила не того языка/региона, что для всего остального. |
|
Вернуться к началу |
|
 |
lec
Зарегистрирован: 02.09.2005 Сообщения: 2
|
Добавлено: Пт Сен 02 2005 23:52 Заголовок сообщения: Спасибо за ответ :-) |
|
|
Я ставил там всевозможные кодировки, в том числе и ту, которую Вы написали. Но при любом значении, если я это поле раскоментирую, то база не запускается  |
|
Вернуться к началу |
|
 |
|