* [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-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-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 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