Vous pouvez créer l'index et transformer le champ en majuscule ou en minuscule. Ensuite, lorsque vous faites vos requêtes, vous pouvez faire la même transformation et cela fera ce qu'il faut.
Donc :
CREATE UNIQUE INDEX lower_case_username ON users ((lower(username)));
Ensuite, recherchez la même chose :
SELECT username FROM users WHERE lower(username) = 'bob';