postgresql unicode lower/upper problem
I am not able to get work lower and upper functions on postgresql
v8.0.1 and 8.1b(current cvs copy). I use Debian SID i686 GNU/Linux.
Locale: ru_RU.KOI8-R
createdb -E UNICODE test
psql test
test=> SET client_encoding TO KOI8;
SET
test=> SELECT t FROM t1;
t
--------
пРиВЕТ
tEsT
(2 rows)
test=> SELECT upper(t) FROM t1;
upper
--------
пРиВЕТ
TEST
test=> SELECT lower(t) FROM t1;
lower
--------
пРиВЕТ
test
(2 rows)
How you can see it work perfect with latin and does not do any
lower/upper with koi8.
what I do wrong?
Sergey Levchenko <sector119@gmail.com> writes:
I am not able to get work lower and upper functions on postgresql
v8.0.1 and 8.1b(current cvs copy). I use Debian SID i686 GNU/Linux.
Locale: ru_RU.KOI8-R
createdb -E UNICODE test
I think the problem is you selected a database encoding that doesn't
match what the locale expects. You can't really mix-and-match if you
expect locale-specific stuff like upper/lower to work. For that
locale you must use -E KOI8.
regards, tom lane
I modify pg_createcluster and add locale options
exec $initdb, '--locale', 'ru_RU.UTF-8', '--encoding', 'UTF-8', '-D', $datadir
then drop and create cluster with my locale. now lower and upper work
good with unicode.
P.S.
it's bad that we can not modify lc_ctype and lc_collate from
postgresql.conf like lc_messages, lc_monetary, ...
I think that it will be good idea to add locale specific options to
pg_createcluster...
Show quoted text
On Wed, 23 Mar 2005 12:17:14 -0500, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Sergey Levchenko <sector119@gmail.com> writes:
I am not able to get work lower and upper functions on postgresql
v8.0.1 and 8.1b(current cvs copy). I use Debian SID i686 GNU/Linux.
Locale: ru_RU.KOI8-Rcreatedb -E UNICODE test
I think the problem is you selected a database encoding that doesn't
match what the locale expects. You can't really mix-and-match if you
expect locale-specific stuff like upper/lower to work. For that
locale you must use -E KOI8.regards, tom lane