Hello
> From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Alexander Farber
> Sent: Montag, 8. August 2016 09:10
> To: pgsql-general <pgsql-general@postgresql.org>
> 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:
kofadmin@kofdb.localhost=> CREATE DATABASE test TEMPLATE template0 ENCODING 'UTF8' LC_COLLATE 'C' LC_CTYPE 'C';
CREATE DATABASE
kofadmin@kofdb.localhost=> \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 |
kofadmin@kofdb.localhost=> \c test
psql (9.6devel, server 9.3.6)
You are now connected to database "test" as user "kofadmin".
kofadmin@test.localhost=> select lower('P'); <-- This works (latin letters)
lower
-------
p
(1 row)
kofadmin@test.localhost=> select lower('И'); <-- This does not work (cyrillic)
lower
-------
И
(1 row)
kofadmin@test.localhost=> \c kofdb
psql (9.6devel, server 9.3.6)
You are now connected to database "kofdb" as user "kofadmin".
kofadmin@kofdb.localhost=> 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?
Bye
Charles