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?
Show quoted text
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).