Comment Comment by nomilk I think postgreSQL's 'citext' datatype gets around this:> The citext data type allows you to eliminate calls to lower in SQL queries, and allows a primary key to be case-insensitive.https://www.postgresql.org/docs/9.0/citext.htmlTL;DR If users choose their usernames, and 'MyUserName' was registered and someone tried to register 'myusername', it would detect a collision and error, thus not causing any problems (the second user would simply have to choose another username). parent nomilk 4 years ago
> The citext data type allows you to eliminate calls to lower in SQL queries, and allows a primary key to be case-insensitive.
https://www.postgresql.org/docs/9.0/citext.html
TL;DR If users choose their usernames, and 'MyUserName' was registered and someone tried to register 'myusername', it would detect a collision and error, thus not causing any problems (the second user would simply have to choose another username).