Re: illegal sort order - Mailing list pgsql-general

From Andrus
Subject Re: illegal sort order
Date
Msg-id db14tc$1lhc$1@news.hub.org
Whole thread Raw
In response to illegal sort order  ("Andrus" <eetasoft@online.ee>)
Responses Re: illegal sort order
List pgsql-general
> Sort order depends on the locale used in initdb. If you want data sorted
> by the codes used to represent the data, then you might want to initdb
> with a locale of "C". Doing an initdb will require a dump and reload.

Bruno, thank you.

SHOW ALL command returns the following:

"client_encoding";"UNICODE"
"lc_collate";"Estonian_Estonia.1257"
"lc_ctype";"Estonian_Estonia.1257"
"lc_messages";"Estonian_Estonia.1257"
"lc_monetary";"Estonian_Estonia.1257"
"lc_numeric";"Estonian_Estonia.1257"
"lc_time";"Estonian_Estonia.1257"

Unfortunately, the sort order is incorrect:

"A"
"S"
"B"
"C"
"�"
"�"
"�"
"�"
"D"
"E"
"F"
"G"

accented charactes must be at the end of alphabet.

Why Postgres uses VERY stange sort order ? I do'nt believe that this order
exists in any locale.

Also, UPPER() function causes error

ERROR:  invalid multibyte character for locale
HINT:  The server's LC_CTYPE locale is probably incompatible with the
database encoding.

Is it possible to  fix the sort order and use UPPER() function in this
locale without dump and reload ?

Andrus.



pgsql-general by date:

Previous
From: Scott Marlowe
Date:
Subject: gborg borked again?
Next
From: "David Esposito"
Date:
Subject: Re: index bloat