From: | "Heikki Linnakangas" <heikki(at)enterprisedb(dot)com> |
---|---|
To: | "Gregory Stark" <stark(at)enterprisedb(dot)com> |
Cc: | "Juho Saarikko" <juhos(at)mbnet(dot)fi>, <pgsql-bugs(at)postgresql(dot)org> |
Subject: | Re: BUG #3965: UNIQUE constraint fails on long column values |
Date: | 2008-02-20 11:25:53 |
Message-ID: | 47BC0E41.3040704@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-docs |
Gregory Stark wrote:
> "Heikki Linnakangas" <heikki(at)enterprisedb(dot)com> writes:
>
>> As others have pointed out, CREATE UNIQUE INDEX i ON ((md5(column)) is a pretty
>> good work-around.
>
> Unless you need cryptographic security I would not suggest using MD5. MD5 is
> intentionally designed to take a substantial amount of CPU resources to
> calculate.
>
> Postgres's internal hash method is exposed for most data types as hashtext()
> hashfloat8(), hashint4(), etc. These functions were chosen for their
> lightweight design.
>
> Cryptographic security is important only if you're concerned with people being
> able to intentionally create collisions. In this scenario that's probably not
> a top threat. Conceivably someone could create a denial-of-service attack
> slowing down your server by causing your indexes to become unbalanced. But it
> would be fairly challenging to engineer.
Return type of hash* functions is just 32 bits. I wonder if that's wide
enough to avoid accidental collisions? Depends on the application of
course...
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Gregory Stark | 2008-02-20 11:51:47 | Re: BUG #3965: UNIQUE constraint fails on long column values |
Previous Message | Francisco Olarte Sanz | 2008-02-20 11:21:03 | Re: BUG #3965: UNIQUE constraint fails on long column values |
From | Date | Subject | |
---|---|---|---|
Next Message | Gregory Stark | 2008-02-20 11:51:47 | Re: BUG #3965: UNIQUE constraint fails on long column values |
Previous Message | Francisco Olarte Sanz | 2008-02-20 11:21:03 | Re: BUG #3965: UNIQUE constraint fails on long column values |