> > Can't you use something like
> >
> > SELECT from table where tolower(username)='good';
>
> If you want sometimes case-sensitive comparison and sometimes not, it
> is a good solution (the PostgreSQL extension ILIKE is another). But if
> you want to "disable case-sensitivity", you risk that some
> applications forget the call to tolower(). Therefore, I prefer to
> create a trigger which will force the field to lowercase before
> INSERTing it. (The problem of my solution is that it is no longer
> case-preserving.)
>
> CREATE FUNCTION force_lower_case() RETURNS OPAQUE
> AS 'BEGIN
> NEW.name = lower(NEW.name);
> RETURN NEW;
> END;'
> LANGUAGE PLPGSQL;
>
> -- Domain names are only in US-ASCII (so no locale problems) and are
> -- case-insensitive. If you want to record the original case, add a
> -- new field.
> CREATE TRIGGER force_lower_case
> BEFORE INSERT ON Domains
> FOR EACH ROW
> EXECUTE PROCEDURE force_lower_case();
>
This is not gonna to work for me. I can't to use ILIKE or something
like that because the program is already written ,and I can't change
the code. There must to be some way how to completely disable all
case-sensitivity from the server without change the code, no?