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)