Re: Best way to store case-insensitive data?
От | Scott Marlowe |
---|---|
Тема | Re: Best way to store case-insensitive data? |
Дата | |
Msg-id | AANLkTin40krQvQ24DV_mGXZrvIqiJ0niSkbnQsFYvwP7@mail.gmail.com обсуждение исходный текст |
Ответ на | Best way to store case-insensitive data? (Mike Christensen <mike@kitchenpc.com>) |
Ответы |
Re: Best way to store case-insensitive data?
|
Список | pgsql-general |
On Thu, Jun 10, 2010 at 2:50 PM, Mike Christensen <mike@kitchenpc.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@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! The contrib module citext provides a case insensitive text type.
В списке pgsql-general по дате отправления: