From: | Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com> |
---|---|
To: | Mike Christensen <mike(at)kitchenpc(dot)com> |
Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Best way to store case-insensitive data? |
Date: | 2010-06-10 21:16:28 |
Message-ID: | AANLkTimpojXQNXJutMQ5tmPD9TYHhAEe7IuxoO1nfBCU@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Thu, Jun 10, 2010 at 2:50 PM, Mike Christensen <mike(at)kitchenpc(dot)com> 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(at)bar(dot)com to be able to login with
> FOO(at)Bar(dot)com 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));
From | Date | Subject | |
---|---|---|---|
Next Message | Scott Marlowe | 2010-06-10 21:18:58 | Re: Best way to store case-insensitive data? |
Previous Message | Mike Christensen | 2010-06-10 21:16:14 | Re: Best way to store case-insensitive data? |