lc_ctype and lower()

Started by Gábor Farkasover 17 years ago2 messagesgeneral
Jump to latest
#1Gábor Farkas
gabor@nekomancer.net

hi,

i have a postgresql-8.2 database instance,
which contained in the past a latin9 database.

this database was later converted to utf8 (by dumping and reloading it).

everything works fine, except that

SELECT lower("Gábor")

returns "gbor" (the 'á' is dropped).

the problem seems to be that

"SHOW lc_ctype" returns "de_AT@euro".

(on a testing db-instance, "SHOW lc_ctype" returns "en_US.UTF-8", and
everything is ok)

based on this, i assume that when the database instance was created
(by "initdb"),
it was created with this locale, and because of this, lower() is not working
correctly with utf8 data.

my question is:

is this a correct assumption?

if yes, is there any way to change this locale-setting somehow?

is the only solution to create a new database-instance? (initdb, new
port, etc.) ? or is there a simpler way?

thanks,
gabor

#2Peter Eisentraut
peter_e@gmx.net
In reply to: Gábor Farkas (#1)
Re: lc_ctype and lower()

Am Freitag, 11. Juli 2008 schrieb G�bor Farkas:

is the only solution to create a new database-instance? (initdb, new
port, etc.) ?

You analysis is entirely correct. You have to re-initdb with a correct
locale.