>> Why is PostgreSQL not enforcing this index? This appears to be a pretty
>> major a bug? It would seem that you could have a unique index across
>> columns that might have a null in them.
>
> From:
>
> http://www.postgresql.org/docs/8.1/interactive/indexes-unique.html
>
> Quote:
>
> "When an index is declared unique, multiple table rows with equal
> indexed values will not be allowed. Null values are not considered
> equal. A multicolumn unique index will only reject cases where all of
> the indexed columns are equal in two rows."
To further this... in PostgreSQL:
IS NULL != ''
'' is a blank string and thus an actual value where IS NULL is nothing,
vapor, a blackhole.
That is why IS NULL can be placed in a unique index because it isn't
actually there (in the theorectical sense).
Sincerely,
Joshua D. Drake
>
> Regards,
>
> Rodrigo
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
>
--
=== The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive PostgreSQL solutions since 1997
http://www.commandprompt.com/