From: | "Alexander M(dot) Pravking" <fduch(at)antar(dot)bryansk(dot)ru> |
---|---|
To: | pgsql-ru-general <pgsql-ru-general(at)postgresql(dot)org> |
Subject: | Re: lower |
Date: | 2005-01-20 20:32:28 |
Message-ID: | 20050120203228.GD4458@dyatel.antar.bryansk.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
On Thu, Jan 20, 2005 at 09:44:49PM +0300, Nick Gazaloff wrote:
> Господа!
>
> Я вижу, что заработали lower и upper для русских строк. Но: я привык
> делать базы в UNICODE, а чтобы при этом работали lower/upper, нужно
> делать initdb с локалью ru_RU.UTF-8. Но тогда отваливается использование
> индексов для LIKE.
>
> Получается, что это непреодолимая дилемма? Или lower/upper, или LIKE по
> индексу?
Начиная вроде с 7.4 можно задать индексу opclass varchar_pattern_ops,
тогда он будет использоваться для LIKE и регекспов (рагумеется, только
для LIKE 'string%' и ~ '^string'):
http://borg.postgresql.org/docs/7.4/static/indexes-opclass.html
Неудобно только, что отдельный индекс приходится строить.
Между прочим, регекспы работают в разы быстрее LIKE.
--
Fduch M. Pravking
From | Date | Subject | |
---|---|---|---|
Next Message | Nick Gazaloff | 2005-01-20 21:17:41 | Re: lower или LIKE? |
Previous Message | Oleg Bartunov | 2005-01-20 20:22:13 | Re: lower или LIKE? |