È possibile creare l'indice e trasformare il campo in maiuscolo o minuscolo. Quindi, quando esegui le tue query, puoi eseguire la stessa trasformazione e farà la cosa giusta.
Quindi:
CREATE UNIQUE INDEX lower_case_username ON users ((lower(username)));
Quindi esegui una query per la stessa cosa:
SELECT username FROM users WHERE lower(username) = 'bob';