* [Comm] postgresql 8.1.8 и трабл с ILIKE @ 2008-06-05 10:36 Anatoliy Lisjutin 2008-06-05 10:55 ` Anatoliy Lisjutin 0 siblings, 1 reply; 14+ messages in thread From: Anatoliy Lisjutin @ 2008-06-05 10:36 UTC (permalink / raw) To: ALT Linux Community general discussions Здравствуйте! Перенес я базу с M2.4 на Server , postgresql 8.1.8. Запрос где ILIKE '%Красн%' - не выдает ничего, а запрос где ILIKE '%КРАСН%' выдает кучу . В таблицах оно действительно все большими буковками вписано , но я же специально , что бы не различать большие малые ILIKE применяю. Так чего же оно не работает? Решил кучу трабл с переносом старого кода php а здесь влип. Помогите люди добрые! Это база http://rgantd.ru/grad/index.html , сами убедитесь. -- With my best regards to you !! http://rusarchives.ru http://rgantd.ru http://victory.rusarchives.ru SilverFox@mail.rgantd.ru ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] postgresql 8.1.8 и трабл с ILIKE 2008-06-05 10:36 [Comm] postgresql 8.1.8 и трабл с ILIKE Anatoliy Lisjutin @ 2008-06-05 10:55 ` Anatoliy Lisjutin 2008-06-05 12:26 ` Michael Bochkaryov 0 siblings, 1 reply; 14+ messages in thread From: Anatoliy Lisjutin @ 2008-06-05 10:55 UTC (permalink / raw) To: ALT Linux Community general discussions В сообщении от 5 июня 2008 Anatoliy Lisjutin написал(a): > > Помогите люди добрые! > Это база http://rgantd.ru/grad/index.html , сами убедитесь. Я там и весь запрос на echo вывел. Так что все видно. -- With my best regards to you !! http://rusarchives.ru http://rgantd.ru http://victory.rusarchives.ru SilverFox@mail.rgantd.ru ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] postgresql 8.1.8 и трабл с ILIKE 2008-06-05 10:55 ` Anatoliy Lisjutin @ 2008-06-05 12:26 ` Michael Bochkaryov 2008-06-06 7:37 ` Anatoliy Lisjutin 0 siblings, 1 reply; 14+ messages in thread From: Michael Bochkaryov @ 2008-06-05 12:26 UTC (permalink / raw) To: ALT Linux Community general discussions Anatoliy Lisjutin пишет: > В сообщении от 5 июня 2008 Anatoliy Lisjutin написал(a): >> Помогите люди добрые! >> Это база http://rgantd.ru/grad/index.html , сами убедитесь. > Я там и весь запрос на echo вывел. Так что все видно. 1. Какая кодировка установлена для базы? Посмотреть можно в psql командой \l. 2. Какая локаль установлена для кластера БД? grep -i lc_ /var/lib/pgsql/data/postgresql.conf Подозреваю, что в несовпадении этих параметров все дело. Ну, или клиент заявляет одну кодировку, а использует другую. -- Michael Bochkaryov ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] postgresql 8.1.8 и трабл с ILIKE 2008-06-05 12:26 ` Michael Bochkaryov @ 2008-06-06 7:37 ` Anatoliy Lisjutin 2008-06-06 8:02 ` Anatoliy Lisjutin 0 siblings, 1 reply; 14+ messages in thread From: Anatoliy Lisjutin @ 2008-06-06 7:37 UTC (permalink / raw) To: ALT Linux Community general discussions В сообщении от 5 июня 2008 Michael Bochkaryov написал(a): > Anatoliy Lisjutin пишет: > > В сообщении от 5 июня 2008 Anatoliy Lisjutin написал(a): > >> Помогите люди добрые! > >> Это база http://rgantd.ru/grad/index.html , сами убедитесь. > > > > Я там и весь запрос на echo вывел. Так что все видно. > > 1. Какая кодировка установлена для базы? > Посмотреть можно в psql командой \l. sfox=# \l List of databases Name | Owner | Encoding -----------+----------+---------- grad | sfox | WIN1251 postgres | postgres | UTF8 sfox | postgres | UTF8 template0 | postgres | UTF8 template1 | postgres | UTF8 > > 2. Какая локаль установлена для кластера БД? > grep -i lc_ /var/lib/pgsql/data/postgresql.conf # grep -i lc_ /var/lib/pgsql/data/postgresql.conf lc_messages = 'ru_RU.UTF-8' # locale for system error message lc_monetary = 'ru_RU.UTF-8' # locale for monetary formatting lc_numeric = 'ru_RU.UTF-8' # locale for number formatting lc_time = 'ru_RU.UTF-8' # locale for time formatting > > Подозреваю, что в несовпадении этих параметров все дело. Вы правы . Это так. А для конкретной базы grad я не могу все эти lc_ проставить? Из psql я их всех пытался устанавливать , но они глобально для всеех баз из конфига ставятся ? А только для одной базы можно? По show all tot некоторые lc_ видятся. Пытался их переставлять в WIN1251 , потом посмотрю - опять UTF. > > Ну, или клиент заявляет одну кодировку, а использует другую. -- With my best regards to you !! http://rusarchives.ru http://rgantd.ru http://victory.rusarchives.ru SilverFox@mail.rgantd.ru ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] postgresql 8.1.8 и трабл с ILIKE 2008-06-06 7:37 ` Anatoliy Lisjutin @ 2008-06-06 8:02 ` Anatoliy Lisjutin 2008-06-06 8:11 ` Anatoliy Lisjutin 0 siblings, 1 reply; 14+ messages in thread From: Anatoliy Lisjutin @ 2008-06-06 8:02 UTC (permalink / raw) To: ALT Linux Community general discussions В сообщении от 6 июня 2008 Anatoliy Lisjutin написал(a): > В сообщении от 5 июня 2008 Michael Bochkaryov написал(a): > > Anatoliy Lisjutin пишет: > > > В сообщении от 5 июня 2008 Anatoliy Lisjutin написал(a): > > >> Помогите люди добрые! > > >> Это база http://rgantd.ru/grad/index.html , сами убедитесь. > > > > > > Я там и весь запрос на echo вывел. Так что все видно. > > > > 1. Какая кодировка установлена для базы? > > Посмотреть можно в psql командой \l. > > sfox=# \l > List of databases > Name | Owner | Encoding > -----------+----------+---------- > grad | sfox | WIN1251 > postgres | postgres | UTF8 > sfox | postgres | UTF8 > template0 | postgres | UTF8 > template1 | postgres | UTF8 > > > 2. Какая локаль установлена для кластера БД? > > grep -i lc_ /var/lib/pgsql/data/postgresql.conf > > # grep -i lc_ /var/lib/pgsql/data/postgresql.conf > lc_messages = 'ru_RU.UTF-8' # locale for system > error message > lc_monetary = 'ru_RU.UTF-8' # locale for monetary > formatting > lc_numeric = 'ru_RU.UTF-8' # locale for number > formatting > lc_time = 'ru_RU.UTF-8' # locale for time > formatting > > > Подозреваю, что в несовпадении этих параметров все дело. > > Вы правы . Это так. А для конкретной базы grad я не могу все эти lc_ > проставить? Из psql я их всех пытался устанавливать , но они глобально > для всеех баз из конфига ставятся ? А только для одной базы можно? По > show all tot некоторые lc_ видятся. Пытался их переставлять в WIN1251 , > потом посмотрю - опять UTF. > > > Ну, или клиент заявляет одну кодировку, а использует другую. В конфиге исправил, postgresql перезапустил , но что-то результата нет. По show all видится lc_ctype и она все одно в UTF. \set lc_ctype "ru_RU.CP2151" ; ничего не дал . Она все равно в UTF; -- With my best regards to you !! http://rusarchives.ru http://rgantd.ru http://victory.rusarchives.ru SilverFox@mail.rgantd.ru ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] postgresql 8.1.8 и трабл с ILIKE 2008-06-06 8:02 ` Anatoliy Lisjutin @ 2008-06-06 8:11 ` Anatoliy Lisjutin 2008-06-06 9:27 ` Alex Gorbachenko 0 siblings, 1 reply; 14+ messages in thread From: Anatoliy Lisjutin @ 2008-06-06 8:11 UTC (permalink / raw) To: ALT Linux Community general discussions В сообщении от 6 июня 2008 Anatoliy Lisjutin написал(a): > По show all видится lc_ctype и она все одно в UTF. > \set lc_ctype "ru_RU.CP2151" ; ничего не дал . Она все равно в UTF; Попытался вставить в конфиг lc_ctype, так выдало при рестарте Adjusting environment for postgresql: [ DONE ] Starting postmaster service: FATAL: parameter "lc_ctype" cannot be changed -- With my best regards to you !! http://rusarchives.ru http://rgantd.ru http://victory.rusarchives.ru SilverFox@mail.rgantd.ru ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] postgresql 8.1.8 и трабл с ILIKE 2008-06-06 8:11 ` Anatoliy Lisjutin @ 2008-06-06 9:27 ` Alex Gorbachenko 2008-06-06 9:48 ` Anatoliy Lisjutin 0 siblings, 1 reply; 14+ messages in thread From: Alex Gorbachenko @ 2008-06-06 9:27 UTC (permalink / raw) To: community [-- Attachment #1: Type: text/plain, Size: 408 bytes --] On Fri, 6 Jun 2008 12:11:05 +0400 Anatoliy wrote: >Попытался вставить в конфиг lc_ctype, так выдало при рестарте >Adjusting environment for >postgresql: [ DONE ] >Starting postmaster service: FATAL: parameter "lc_ctype" cannot be >changed эти вещи не меняются через конфиг. кодировку кластера можно задать только при initdb. -- np: Dream Theater - Voices [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] postgresql 8.1.8 и трабл с ILIKE 2008-06-06 9:27 ` Alex Gorbachenko @ 2008-06-06 9:48 ` Anatoliy Lisjutin 2008-06-06 11:22 ` Alex Gorbachenko 0 siblings, 1 reply; 14+ messages in thread From: Anatoliy Lisjutin @ 2008-06-06 9:48 UTC (permalink / raw) To: ALT Linux Community general discussions В сообщении от 6 июня 2008 Alex Gorbachenko написал(a): > On Fri, 6 Jun 2008 12:11:05 +0400 > > Anatoliy wrote: > >Попытался вставить в конфиг lc_ctype, так выдало при рестарте > >Adjusting environment for > >postgresql: [ DONE ] > >Starting postmaster service: FATAL: parameter "lc_ctype" cannot be > >changed > > эти вещи не меняются через конфиг. кодировку кластера можно задать > только при initdb. То есть все базы тоже должны быть в одной кодировке? Если нет , то какие параметры можно для конкретной базы изменять? Ну кодировку клиента можно же менять? А кодировку базы отличать от кодировки при инсталации нельзя? Раньше, вроде, было можно. Все в кои8 было , а эта база в WIN1251 работала и не тужила. -- With my best regards to you !! http://rusarchives.ru http://rgantd.ru http://victory.rusarchives.ru SilverFox@mail.rgantd.ru ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] postgresql 8.1.8 и трабл с ILIKE 2008-06-06 9:48 ` Anatoliy Lisjutin @ 2008-06-06 11:22 ` Alex Gorbachenko 2008-06-06 13:30 ` Michael Bochkaryov 2008-06-11 9:04 ` Anatoliy Lisjutin 0 siblings, 2 replies; 14+ messages in thread From: Alex Gorbachenko @ 2008-06-06 11:22 UTC (permalink / raw) To: community [-- Attachment #1: Type: text/plain, Size: 876 bytes --] On Fri, 6 Jun 2008 13:48:38 +0400 Anatoliy wrote: >То есть все базы тоже должны быть в одной кодировке? >Если нет , то какие параметры можно для конкретной базы изменять? >Ну кодировку клиента можно же менять? А кодировку базы отличать от >кодировки при инсталации нельзя? Раньше, вроде, было можно. Все в кои8 >было , а эта база в WIN1251 работала и не тужила. если initdb создал кластер в koi8-r, то базы будут работать в любой кодировке, отличной от koi-8r. но некоторые операции будут вылполняться некорректно. например, order by по char() или text() полям. like/ilike тоже попадают в число "некоторых". в вашем случае все базы нужно держать в utf8, а для тех, которым нужны другие кодировки для хранения данных, выделять другие серверы. и на этих серверах инициализировать кластер в нужной однобайтной кодировке. -- np: Dream Theater - Voices [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] postgresql 8.1.8 и трабл с ILIKE 2008-06-06 11:22 ` Alex Gorbachenko @ 2008-06-06 13:30 ` Michael Bochkaryov 2008-06-09 4:24 ` Alexey Novikov 2008-06-10 10:33 ` Anatoliy Lisjutin 2008-06-11 9:04 ` Anatoliy Lisjutin 1 sibling, 2 replies; 14+ messages in thread From: Michael Bochkaryov @ 2008-06-06 13:30 UTC (permalink / raw) To: ALT Linux Community general discussions Alex Gorbachenko пишет: > On Fri, 6 Jun 2008 13:48:38 +0400 > Anatoliy wrote: > >> То есть все базы тоже должны быть в одной кодировке? >> Если нет , то какие параметры можно для конкретной базы изменять? >> Ну кодировку клиента можно же менять? А кодировку базы отличать от >> кодировки при инсталации нельзя? Раньше, вроде, было можно. Все в кои8 >> было , а эта база в WIN1251 работала и не тужила. > > если initdb создал кластер в koi8-r, то базы будут работать в любой > кодировке, отличной от koi-8r. но некоторые операции будут вылполняться > некорректно. например, order by по char() или text() полям. like/ilike > тоже попадают в число "некоторых". В принципе, можно еще использовать функции из подключаемой библиотеки nls_strings, но я даже не уверен, что под 8.3 она успешно соберется. Когда-то мне пришлось воспользоваться этой либой, чтобы работать с БД, которую в кодировке, отличной от дефолтной, создали. > в вашем случае все базы нужно держать в utf8, а для тех, которым нужны > другие кодировки для хранения данных, выделять другие серверы. и на > этих серверах инициализировать кластер в нужной однобайтной кодировке. От себя добавлю, что клиентское приложение может вполне нормально работать в WIN1251, если после коннекта скомандовать "set client_encoding to 'WIN1251'". -- Michael Bochkaryov ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] postgresql 8.1.8 и трабл с ILIKE 2008-06-06 13:30 ` Michael Bochkaryov @ 2008-06-09 4:24 ` Alexey Novikov 2008-06-10 11:05 ` Anatoliy Lisjutin 2008-06-10 10:33 ` Anatoliy Lisjutin 1 sibling, 1 reply; 14+ messages in thread From: Alexey Novikov @ 2008-06-09 4:24 UTC (permalink / raw) To: ALT Linux Community general discussions On Fri, Jun 06, 2008 at 04:30:08PM +0300, Michael Bochkaryov wrote: > > От себя добавлю, что клиентское > приложение может вполне нормально > работать в WIN1251, если после коннекта > скомандовать "set client_encoding to 'WIN1251'". > Также будет нормально работать, если на стороне клиента выставить PGCLIENTENCODING=WIN1251 -- WBR, Alexey Novikov XMPP: alex-novikov@jabber.ru, shader@ya.ru ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] postgresql 8.1.8 и трабл с ILIKE 2008-06-09 4:24 ` Alexey Novikov @ 2008-06-10 11:05 ` Anatoliy Lisjutin 0 siblings, 0 replies; 14+ messages in thread From: Anatoliy Lisjutin @ 2008-06-10 11:05 UTC (permalink / raw) To: ALT Linux Community general discussions В сообщении от 9 июня 2008 Alexey Novikov написал(a): > On Fri, Jun 06, 2008 at 04:30:08PM +0300, Michael Bochkaryov wrote: > > От себя добавлю, что клиентское > > приложение может вполне нормально > > работать в WIN1251, если после коннекта > > скомандовать "set client_encoding to 'WIN1251'". > > Также будет нормально работать, если на стороне клиента выставить > PGCLIENTENCODING=WIN1251 Делается set client_encoding to 'WIN1251'. Но не работает. Раньше работало. А в новой, видимо, только так как написал Alex Gorbachenko. Переинициализировать с однобайтовой кодироовкой. Или дамп перекодировать в UTF-8 , но могут начаться проблемы , там длины имен таблиц и колонок может не хватить для моих имен, а они на русском и длинные. Не знаю как сейчас , а было когда я интересовался перекодировкой всего 15 байт что ли под имя. Короче была у меня идея и раньше дамп перекодировать, база старая и каждый раз при перетаскивании какие-нибуть траблы. -- With my best regards to you !! http://rusarchives.ru http://rgantd.ru http://victory.rusarchives.ru SilverFox@mail.rgantd.ru ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] postgresql 8.1.8 и трабл с ILIKE 2008-06-06 13:30 ` Michael Bochkaryov 2008-06-09 4:24 ` Alexey Novikov @ 2008-06-10 10:33 ` Anatoliy Lisjutin 1 sibling, 0 replies; 14+ messages in thread From: Anatoliy Lisjutin @ 2008-06-10 10:33 UTC (permalink / raw) To: ALT Linux Community general discussions В сообщении от 6 июня 2008 Michael Bochkaryov написал(a): > Alex Gorbachenko пишет: > > On Fri, 6 Jun 2008 13:48:38 +0400 > > > От себя добавлю, что клиентское приложение может вполне нормально > работать в WIN1251, если после коннекта скомандовать "set > client_encoding to 'WIN1251'". Это мной как раз делается в скрипте подключения к базе. -- With my best regards to you !! http://rusarchives.ru http://rgantd.ru http://victory.rusarchives.ru SilverFox@mail.rgantd.ru ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] postgresql 8.1.8 и трабл с ILIKE 2008-06-06 11:22 ` Alex Gorbachenko 2008-06-06 13:30 ` Michael Bochkaryov @ 2008-06-11 9:04 ` Anatoliy Lisjutin 1 sibling, 0 replies; 14+ messages in thread From: Anatoliy Lisjutin @ 2008-06-11 9:04 UTC (permalink / raw) To: ALT Linux Community general discussions В сообщении от 6 июня 2008 Alex Gorbachenko написал(a): > On Fri, 6 Jun 2008 13:48:38 +0400 > > Anatoliy wrote: > >То есть все базы тоже должны быть в одной кодировке? > >Если нет , то какие параметры можно для конкретной базы изменять? > >Ну кодировку клиента можно же менять? А кодировку базы отличать от > >кодировки при инсталации нельзя? Раньше, вроде, было можно. Все в кои8 > >было , а эта база в WIN1251 работала и не тужила. > > если initdb создал кластер в koi8-r, то базы будут работать в любой > кодировке, отличной от koi-8r. но некоторые операции будут вылполняться > некорректно. например, order by по char() или text() полям. like/ilike > тоже попадают в число "некоторых". > > в вашем случае все базы нужно держать в utf8, а для тех, которым нужны > другие кодировки для хранения данных, выделять другие серверы. и на > этих серверах инициализировать кластер в нужной однобайтной кодировке. Я сделал проще . Поскольку в базе все заглавными буквами прописано то записал в хелп к базе типа искать только заглавными буквами (включить CapsLock) и выделил цветом. Всем высказавшимся огромное СПАСИБО! -- With my best regards to you !! http://rusarchives.ru http://rgantd.ru http://victory.rusarchives.ru SilverFox@mail.rgantd.ru ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2008-06-11 9:04 UTC | newest] Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2008-06-05 10:36 [Comm] postgresql 8.1.8 и трабл с ILIKE Anatoliy Lisjutin 2008-06-05 10:55 ` Anatoliy Lisjutin 2008-06-05 12:26 ` Michael Bochkaryov 2008-06-06 7:37 ` Anatoliy Lisjutin 2008-06-06 8:02 ` Anatoliy Lisjutin 2008-06-06 8:11 ` Anatoliy Lisjutin 2008-06-06 9:27 ` Alex Gorbachenko 2008-06-06 9:48 ` Anatoliy Lisjutin 2008-06-06 11:22 ` Alex Gorbachenko 2008-06-06 13:30 ` Michael Bochkaryov 2008-06-09 4:24 ` Alexey Novikov 2008-06-10 11:05 ` Anatoliy Lisjutin 2008-06-10 10:33 ` Anatoliy Lisjutin 2008-06-11 9:04 ` Anatoliy Lisjutin
ALT Linux Community general discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 community community/ http://lore.altlinux.org/community \ mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com public-inbox-index community Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.community AGPL code for this site: git clone https://public-inbox.org/public-inbox.git