powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Регистрозависимый поиск Like
6 сообщений из 6, страница 1 из 1
Регистрозависимый поиск Like
    #33936309
-Zed-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем

на сервере стоит
ОС - 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
Регистрозависимый поиск Like
    #33936345
Andrew Sagulin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
pg_controldata <путь к базе данных>

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

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

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

а вот
LC_COLLATE = С
LC_CTYPE = C

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

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


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

Для примера давайте рассмотрим кластер с Collation ru_RU, с ENCODING по умолчанию UTF-8 и с двумя базами, у одной из которых ENCODING UTF-8, а у другой CP1251.
...
Рейтинг: 0 / 0
Регистрозависимый поиск Like
    #33937199
st_serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Регистрозависимый поиск Like
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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