Re: Best way to store case-insensitive data?

From: Mike Christensen <mike(at)kitchenpc(dot)com>
To: Scott Marlowe <scott(dot)marlowe(at)gmail(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:14
Message-ID: AANLkTikhL3tVmwCv9oRhT2PSSxW26U62OnbV29HDhMvH@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Where do I get info on installing this?

On Thu, Jun 10, 2010 at 2:15 PM, Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com> wrote:
> 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!
>
> The contrib module citext provides a case insensitive text type.
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Scott Marlowe 2010-06-10 21:16:28 Re: Best way to store case-insensitive data?
Previous Message Scott Marlowe 2010-06-10 21:15:32 Re: Best way to store case-insensitive data?