Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Регистрозависимый поиск Like / 6 сообщений из 6, страница 1 из 1
23.08.2006, 08:22
    #33936309
-Zed-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрозависимый поиск Like
Привет всем

на сервере стоит
ОС - WinXP SP2
СУБД - Postgresql 8.1
PHP5

В офисе стоит 3 одинаковых компьютера (железо, ОС)
Когда база стояла на первых двух поиск был нормальный

select fio from tbl where fio ~~* '%иван%';

fio
----------
Иванов Сегр. Петр.
Петров Иван Серг.
Селиванов
....

когда перенес базу на третий комп поиск стал регистрозависимым
(initdb - делал)

select fio from tbl where fio ~~* '%иван%';

fio
------------
Селиванов


select fio from tbl where fio ~~* '%иван%';

fio
----------
Иванов Сегр. Петр.
Петров Иван Серг.

Кроме того на третем комп-ре стоит интеграция Nowell 4.x

если кто сталкивался подскажите в чем может быть проблема
...
Рейтинг: 0 / 0
23.08.2006, 08:57
    #33936345
Andrew Sagulin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрозависимый поиск Like
Код: plaintext
pg_controldata <путь к базе данных>

в LC_COLLATE что показывает?

Должно быть Russian_Russia.1251

И в базе данных должно быть ENCODING = 'WIN1251'
...
Рейтинг: 0 / 0
23.08.2006, 09:52
    #33936461
-Zed-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрозависимый поиск Like
ENCODING = 'WIN1251'

а вот
LC_COLLATE = С
LC_CTYPE = C

Подскажите как изменить эти значения безболеззненно для базы
...
Рейтинг: 0 / 0
23.08.2006, 10:41
    #33936631
Andrew Sagulin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрозависимый поиск Like
-Zed-
LC_COLLATE = С
LC_CTYPE = C
Подскажите как изменить эти значения безболеззненно для базы

Никак - только созданием кластера и базы заново с нужной локалью. Подробности здесь .
Обращаю внимание (это описано в документации), что хотя PG и позволяет создать базу данных с отличной от кластера кодовой страницей, но работать это всё равно не будет. В будущем, вроде как, обещают такую возможность запретить.
...
Рейтинг: 0 / 0
23.08.2006, 12:24
    #33937128
ilejn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрозависимый поиск Like
Andrew Sagulin
Обращаю внимание (это описано в документации), что хотя PG и позволяет создать базу данных с отличной от кластера кодовой страницей, но работать это всё равно не будет. В будущем, вроде как, обещают такую возможность запретить.


Поделитесь, пожалуйста, подробностями по поводу того, где именно и что описано в документации, и что именно не будет работать в случае "базы данных с отличной от кластера кодовой страницей". Что именно вы понимаете под кодовой страницей базы данных и что под кодовой страничей кластера?

Для примера давайте рассмотрим кластер с Collation ru_RU, с ENCODING по умолчанию UTF-8 и с двумя базами, у одной из которых ENCODING UTF-8, а у другой CP1251.
...
Рейтинг: 0 / 0
23.08.2006, 12:38
    #33937199
st_serg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регистрозависимый поиск Like
Locale support is automatically initialized when a database cluster is created using initdb
...
LC_COLLATE and LC_CTYPE settings are determined at initdb time and cannot be changed without repeating initdb



Although you can specify any encoding you want for a database, it is unwise to choose an encoding that is not what is expected by the locale you have selected. The LC_COLLATE and LC_CTYPE settings imply a particular encoding, and locale-dependent operations (such as sorting) are likely to misinterpret data that is in an incompatible encoding.

Since these locale settings are frozen by initdb, the apparent flexibility to use different encodings in different databases of a cluster is more theoretical than real. It is likely that these mechanisms will be revisited in future versions of PostgreSQL.

One way to use multiple encodings safely is to set the locale to C or POSIX during initdb, thus disabling any real locale awareness
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Регистрозависимый поиск Like / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]