On 08/30/2012 06:54 PM, Nicola Cisternino wrote:
At this point, the solution could be a new, custom, operating system collation .... (something like: en_CI_US.UTF-8) ....
As far as I know - and as I said, I'm hardly an expert in Pg's guts - there's no way to create a case insensitive collation as things stand.
Creating case insensitive collations in the C library is probably more work than you could possibly expect, if it's even possible at all on some platforms.
You'd have a better chance investigating whether it could be possible to "wrap" an operating system collation with lower-casing. This is likely to be something you will want to work with some experienced Pg developers with, most likely on a funded work basis because you're unlikely to find anyone who wants to implement case insensitive collations for fun in their spare time.
If you're seriously interested in enhancing PostgreSQL to support case insensitive collation, and you have the funds to sponsor the significant amount of work required, you could ask on pgsql-hackers and see if anyone's interested, or contact
http://www.postgresql.org/support/professional_support/ . This is not a trivial job.
It will help if you are able to provide *specific* *test* *cases* showing exactly how you think it should work, with samples showing how it works on other specifically named products. No more hand-waving.
--
Craig Ringer