Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
16.04.2004, 13:58
|
|||
---|---|---|---|
|
|||
PostgreSQL 7.3 + кириллица |
|||
#18+
Есть проблема. pgsql собран с --enable-multibyte --with-mb=windows-1251 База в локали WIN. psql -l -U pgsql List of databases Name | Owner | Encoding ------------+-------+---------- filesearch | pgsql | WIN template0 | pgsql | WIN template1 | pgsql | WIN Собственно, в базе filesearch есть записи в кириллице. При попытке выбрать, данные отображаются нормально, но при поиске все символы регистрозависимые. Подскажите, пожалуйста, как сделать регистронезависимый поиск в кириллице? Система - FreeBSD 4.9, PostgreSQL 7.3.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.04.2004, 15:09
|
|||
---|---|---|---|
|
|||
PostgreSQL 7.3 + кириллица |
|||
#18+
Всё, разобрался, уже не актуально, спасибо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.04.2004, 01:14
|
|||
---|---|---|---|
|
|||
PostgreSQL 7.3 + кириллица |
|||
#18+
Подскажи, как разобрался ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.04.2004, 10:29
|
|||
---|---|---|---|
|
|||
PostgreSQL 7.3 + кириллица |
|||
#18+
Просто корректно настроил локаль в системе и сделал pw usermod pgsql -L russian После этого корректно заработала кириллица :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.04.2004, 15:21
|
|||
---|---|---|---|
|
|||
PostgreSQL 7.3 + кириллица |
|||
#18+
А можно поподробнее? А тоя только начал осваивать Postgres и то - под Windows через Cygwin. Вот Список прирложений, что у меня лежат в директории Bin (я пользуюсь коммерческой сборкой Command Promt ибо открытую не смог корректно поставить): basename.exe bash.exe bzip2.exe cat.exe chmod.exe chown.exe cp.exe cygrunsrv.exe exece.exe grep.exe ipc-daemon.exe kill.exe less.exe ln.exe ls.exe mkdir.exe mkgroup.exe mkpasswd.exe mount.exe pg_dump.exe pg_dumpall.exe pg_dumplo.exe pg_id.exe pg_restore.exe pgsqltray.exe pgsqltray_kill.exe postgres.exe ps.exe psql.exe rm.exe sed.exe sh.exe stty.exe tar.exe umount.exe vacuumlo.exe Можешь в этой ситуации что-то подсказать? Какие команды из консоли настраивают локаль? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.04.2004, 18:16
|
|||
---|---|---|---|
|
|||
PostgreSQL 7.3 + кириллица |
|||
#18+
Столкнулся я тоже с проблемой сортировки русских слов без учета регистра. Pgsql 7.3.4 под Rad Hat Linux 8.0, кодировка UNICODE. Поиск по форуму и последующие попытки настроить локаль к результату не привели. А решать проблему нужно было, и быстро. Пришлось сделать "по-студенчески" - в лоб. Для этого написал 2 user-defined functions: lowChar(varchar) RETURNS varchar; и lowStr(varchar) RETURNS varchar; Первая представляет собой ветвление вида CASE $1 WHEN 'А' THEN 'а', т.е. вручную перебирает все символы русского языка (впридачу несколько символов из украинского - тоже было нужно). А вторая - последовательно "прогоняет" каждый символ из аргумента через первую функцию. А потом уже делается сортировка: ORDER BY lowStr(label). Данные сравнения производительности: 162 строки, Windows, PgSQL 7.3.4 на CygWin используя встроенную функцию lower() - запрос выполняется 10 ms используя предлагаемую функцию lowStr() - запрос выполняется 70 ms. Решение, естественно, не так красиво, как если нормально настроить локаль, но если не получается, то можно и так. Если интересно, могу выложить полный код функций. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.04.2004, 20:18
|
|||
---|---|---|---|
|
|||
PostgreSQL 7.3 + кириллица |
|||
#18+
-- "ВЕРХНИЙ" регистр киррилицы CREATE OR REPLACE FUNCTION w_upper(text) RETURNS text IMMUTABLE AS ' DECLARE BEGIN RETURN TRANSLATE($1, ''abcdefghijklmnopqrstuvwxyzёабвгдежзийклмнопрстуфхцчшщъыьэюяіїє'', ''ABCDEFGHIJKLMNOPQRSTUVWXYZЁАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯІЇЄ''); END; ' LANGUAGE 'plpgsql'; -- "нижний" регистр киррилицы CREATE OR REPLACE FUNCTION w_lower(text) RETURNS text IMMUTABLE AS ' DECLARE BEGIN RETURN TRANSLATE($1, ''ABCDEFGHIJKLMNOPQRSTUVWXYZЁАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯІЇЄ'', ''abcdefghijklmnopqrstuvwxyzёабвгдежзийклмнопрстуфхцчшщъыьэюяіїє''); END; ' LANGUAGE 'plpgsql'; ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/moderation_log.php?user_name=%D0%B1%D0%BB%D0%B0%D0%B3%D0%BE%D0%B4%D0%B0%D1%80%D0%B8%D1%82%D0%B5%D0%BB%D1%8C]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
15ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 440ms |
total: | 633ms |
0 / 0 |