Hello > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Charles > Clavadetscher > Sent: Montag, 8. August 2016 09:30 > To: 'Alexander Farber' <[email protected]>; 'pgsql-general' > <[email protected]> > Subject: Re: [GENERAL] lower() silently fails for 9.5.3 on Windows, but works > on Mac, Linux > > Hello > > > From: [email protected] > > [mailto:[email protected]] On Behalf Of Alexander > > Farber > > Sent: Montag, 8. August 2016 09:10 > > To: pgsql-general <[email protected]> > > Subject: Re: [GENERAL] lower() silently fails for 9.5.3 on Windows, > > but works on Mac, Linux > > > > More info: > > > > # \l+ > > > > Name | Owner | Encoding | Collate | Ctype | > > -----------+---------+----------+---------+-------+ > > postgres | user1 | UTF8 | C | C | > > template0 | user1 | UTF8 | C | C | > > | | | | | > > template1 | user1 | UTF8 | C | C | > > | | | | | > > words | user1 | UTF8 | C | C | > > > I cannot test on 9.5, which you are using, but I was able to reproduce the > problem on 9.3: > > [email protected]=> CREATE DATABASE test TEMPLATE template0 ENCODING > 'UTF8' LC_COLLATE 'C' LC_CTYPE 'C'; > CREATE DATABASE [email protected]=> \l > List of databases > Name | Owner | Encoding | Collate | > Ctype | Access privileges > -----------+----------+----------+----------------------------+----------------------------+----------------------- > kofdb | kofadmin | UTF8 | English_United States.1252 | > English_United States.1252 | > test | kofadmin | UTF8 | C | C > | > > [email protected]=> \c test > psql (9.6devel, server 9.3.6) > You are now connected to database "test" as user "kofadmin". > [email protected]=> select lower('P'); <-- This works (latin letters) > lower > ------- > p > (1 row) > > [email protected]=> select lower('И'); <-- This does not work > (cyrillic) lower > ------- > И > (1 row) > > [email protected]=> \c kofdb > psql (9.6devel, server 9.3.6) > You are now connected to database "kofdb" as user "kofadmin". > [email protected]=> select lower('И'); <-- This works on a DB with > another collation and ctype lower > ------- > и > (1 row) > > It seems to be a problem with collation and or ctype. > > What are the settings of the database on your Linux system where all works > correct?
A possible workaround: [email protected]=> CREATE COLLATION "en_US" (LOCALE = 'English_United States.1252'); CREATE COLLATION [email protected]=> select * from pg_collation; collname | collnamespace | collowner | collencoding | collcollate | collctype ----------+---------------+-----------+--------------+----------------------------+---------------------------- default | 11 | 10 | -1 | | C | 11 | 10 | -1 | C | C POSIX | 11 | 10 | -1 | POSIX | POSIX en_US | 2200 | 16394 | 6 | English_United States.1252 | English_United States.1252 (4 rows) [email protected]=> with x as (select 'И'::text collate "en_US" as letter) select lower(letter) from x ; lower ------- и (1 row) Sure, bit uncomfortable. Bye Charles > > Bye > Charles > > > > > -- > Sent via pgsql-general mailing list ([email protected]) To make > changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general -- Sent via pgsql-general mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
