--> Really? AFAIK, Windows doesn't support collation names that look like that.
I meant to say Linux. Not Windows.
-----Original Message-----
From: Tom Lane <tgl@sss.pgh.pa.us>
Sent: Friday, February 22, 2019 1:03 PM
To: Kaleb Akalework <kaleb.akalework@asg.com>
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #15651: Collation setting en_US.utf8 breaking sort order
*** External email: Verify sender before opening attachments or links ***
PG Bug reporting form <noreply@postgresql.org> writes:
> I have PostgresSQL database on Windows. I created database with
> Collation of en_US.utf8.
Really? AFAIK, Windows doesn't support collation names that look like that.
> Then I created table (The steps to reproduce are below). I inserted a
> few rows into this table one of which was row with special characters
> "~!@#$^&(". The insert worked fine but then when I do a select on the
> column for values >=' ' (Space), I get back all the rows except for
> the row that contains "~!@#$^&(" .
This appears to be the intended behavior of en_US sorting.
On a Linux machine I can reproduce it outside Postgres:
$ LANG=C sort stuff.txt
AAA
BAA
CAA
DAA
~!@#$^&(
$ LANG=en_US sort stuff.txt
~!@#$^&(
AAA
BAA
CAA
DAA
(The first line in my test file contains one space.)
regards, tom lane