This came up on irc:
postgres=# show lc_ctype;
lc_ctype
-------------
fr_FR.UTF-8
postgres=# show server_encoding;
server_encoding
-----------------
UTF8
(1 row)
postgres=# select E'\303\201' ILIKE E'\303\241';
?column?
----------
t
(1 row)
postgres=# select E'\303\201' ~* E'\303\241';
?column?
----------
f
(1 row)
Obviously, this happens because the locale support functions in
backend/regex/regc_locale.c are (presumably intentionally) crippled so
as not to support non-ascii chars, despite all the code there using
wide chars for everything otherwise.
Why is this? It does not appear to be a documented restriction.
--
Andrew (irc:RhodiumToad)