Você pode criar o índice e transformar o campo em letras maiúsculas ou minúsculas. Então, quando você fizer suas consultas, poderá fazer a mesma transformação e fará a coisa certa.
Então:
CREATE UNIQUE INDEX lower_case_username ON users ((lower(username)));
Em seguida, consulte a mesma coisa:
SELECT username FROM users WHERE lower(username) = 'bob';