Basically produce a PostgreSQL unique index on the area, may be the comparison situation-insensitive automatically?
If no, is it feasible for request PostgreSQL to disregard string situation?
PostgreSQL is situation sensitive. To complete what you would like produce a function index. So say
CREATE UNIQUE INDEX test_upper_idx ON mytable (upper(myfield));
This way if you use
UPPER(myfield) inside your query and also the index is going to be used.
Check this out link http://www.postgresql.org/docs/9.0/interactive/indexes-expressional.html
CREATE UNIQUE INDEX ux_table_field ON mytable(UPPER(field))
you need to have the ability to produce a function based index. (make use of the UPPER from the area)