O PostgreSQL diferencia maiúsculas de minúsculas. Para fazer o que você quer, crie uma função index. Então diga
CREATE UNIQUE INDEX test_upper_idx ON mytable (UPPER(myfield));
Dessa forma, quando você usa
UPPER(myfield)
na sua consulta o índice será usado. Veja este link