Re: BUG #15651: Collation setting en_US.utf8 breaking sort order - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #15651: Collation setting en_US.utf8 breaking sort order
Date
Msg-id 17689.1550858606@sss.pgh.pa.us
Whole thread Raw
In response to BUG #15651: Collation setting en_US.utf8 breaking sort order  (PG Bug reporting form <noreply@postgresql.org>)
Responses RE: BUG #15651: Collation setting en_US.utf8 breaking sort order  (Kaleb Akalework <kaleb.akalework@asg.com>)
Re: BUG #15651: Collation setting en_US.utf8 breaking sort order  (Peter Geoghegan <pg@bowt.ie>)
Re: BUG #15651: Collation setting en_US.utf8 breaking sort order  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
List pgsql-bugs
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


pgsql-bugs by date:

Previous
From: Amit Langote
Date:
Subject: Re: 'update returning *' returns 0 columns instead of empty row with2 columns when (i) no rows updated and (ii) when applied to a partitionedtable with sub-partition
Next
From: Kaleb Akalework
Date:
Subject: RE: BUG #15651: Collation setting en_US.utf8 breaking sort order