Обсуждение: Sort order is different on Windows and Linux

Поиск
Список
Период
Сортировка

Sort order is different on Windows and Linux

От
"Robert Wille"
Дата:
I have found that the sort order is different on Windows and Linux (same version of Postgres). On Windows, it sorts in what appears to be normal ASCII order. On Linux, lowercase comes before uppercase, and all non-alphanumerics appear to come before all alphanumerics. I really need it to sort on Linux the same as it does on Windows. The docs seem to imply that I can simply set the LANG environment variable to C to get an ASCII sort order, but that seem to make a difference. How do I change the sort order?
 
Thanks in advance.
 
Robert
 

Re: Sort order is different on Windows and Linux

От
Stephan Szabo
Дата:
On Wed, 17 Sep 2003, Robert Wille wrote:

> I have found that the sort order is different on Windows and Linux (same
> version of Postgres). On Windows, it sorts in what appears to be normal
> ASCII order. On Linux, lowercase comes before uppercase, and all
> non-alphanumerics appear to come before all alphanumerics. I really need
> it to sort on Linux the same as it does on Windows. The docs seem to
> imply that I can simply set the LANG environment variable to C to get an
> ASCII sort order, but that seem to make a difference. How do I change
> the sort order?

You need to have the database initdb'd with the appropriate collation set
in LC_COLLATE. Changing LANG/LC_COLLATE after the fact won't help (in
recent versions anyway).


Re: Sort order is different on Windows and Linux

От
"Robert Wille"
Дата:
Do I simply "export LC_COLLATE=C" before I initdb, or do I pass it as a
parameter?

> On Wed, 17 Sep 2003, Robert Wille wrote:
>
> > I have found that the sort order is different on Windows and Linux (same
> > version of Postgres). On Windows, it sorts in what appears to be normal
> > ASCII order. On Linux, lowercase comes before uppercase, and all
> > non-alphanumerics appear to come before all alphanumerics. I really need
> > it to sort on Linux the same as it does on Windows. The docs seem to
> > imply that I can simply set the LANG environment variable to C to get an
> > ASCII sort order, but that seem to make a difference. How do I change
> > the sort order?
>
> You need to have the database initdb'd with the appropriate collation set
> in LC_COLLATE. Changing LANG/LC_COLLATE after the fact won't help (in
> recent versions anyway).
>