Re: Best way to store case-insensitive data?
Michal Politowski <mpol@charybda.icm.edu.pl>
From: Michal Politowski <mpol@charybda.icm.edu.pl>
To: pgsql-general@postgresql.org
Date: 2010-06-11T07:27:15Z
Lists: pgsql-general
On Thu, 10 Jun 2010 13:50:23 -0700, Mike Christensen wrote: > I have a column called "email" that users login with, thus I need to > be able to lookup email very quickly. The problem is, emails are > case-insensitive. I want foo@bar.com to be able to login with > FOO@Bar.com as well. There's two ways of doing this, that I can see: NB: technically the local part in an email address can be case sensitive. As RFC 5321 says: The local-part of a mailbox MUST BE treated as case sensitive. Therefore, SMTP implementations MUST take care to preserve the case of mailbox local-parts. In particular, for some hosts, the user "smith" is different from the user "Smith". However, exploiting the case sensitivity of mailbox local-parts impedes interoperability and is discouraged. Mailbox domains follow normal DNS rules and are hence not case sensitive. In practice I've yet to see a system having both smith and Smith and them being different, but still it is theoretically posible. -- Michał Politowski Talking has been known to lead to communication if practiced carelessly.