Search Postgresql Archives

Re: Best way to store case-insensitive data?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jun 10, 2010 at 2:50 PM, Mike Christensen <mike@xxxxxxxxxxxxx> 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@xxxxxxx to be able to login with
> FOO@xxxxxxx as well.  There's two ways of doing this, that I can see:
>
> 1) Every time I lookup an email in the database, do a case-insensitive
> ilike, or cast both sides with LOWER().  I think both are slow,
> correct?
> 2) Every time the user updates or saves their email, store it in
> lowercase, and every time I lookup an email, pass in a lowercase
> email.  This is somewhat of a bug farm because one might miss some
> little spot in a piece of code where an email is compared or updated.
>
> Is there any way to tell postgres to always store data in lowercase
> form, or just have a flat out case-insensitive column?  Thanks!

Note the other option is to store an index on lower(column)

create index mycaseinsensitiveindex on table ((lower(column));

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux