Thread: Sort order is different on Windows and Linux
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
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).
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). >