Best way to store case-insensitive data?

Поиск
Список
Период
Сортировка
От Mike Christensen
Тема Best way to store case-insensitive data?
Дата
Msg-id AANLkTin-73Ekq7RUzmLibndS0XkgTFY2WD3buPREcYJD@mail.gmail.com
обсуждение исходный текст
Ответы Re: Best way to store case-insensitive data?  (Andy Colson <andy@squeakycode.net>)
Re: Best way to store case-insensitive data?  (Scott Marlowe <scott.marlowe@gmail.com>)
Re: Best way to store case-insensitive data?  (Scott Marlowe <scott.marlowe@gmail.com>)
Re: Best way to store case-insensitive data?  (Adrian von Bidder <avbidder@fortytwo.ch>)
Re: Best way to store case-insensitive data?  (Michal Politowski <mpol@charybda.icm.edu.pl>)
Список pgsql-general
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:

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!

Mike

В списке pgsql-general по дате отправления:

Предыдущее
От: Jim.Gray@Bull.com
Дата:
Сообщение: Re: PL/pgSQL nested functions
Следующее
От: John Gage
Дата:
Сообщение: Re: Cognitive dissonance