Re: How to create unique constraint on NULL columns

From: Bruno Wolff III <bruno(at)wolff(dot)to>
To: Andrus <eetasoft(at)online(dot)ee>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: How to create unique constraint on NULL columns
Date: 2005-07-15 19:49:09
Message-ID: 20050715194909.GA13079@wolff.to
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, Jul 15, 2005 at 20:08:32 +0300,
Andrus <eetasoft(at)online(dot)ee> wrote:
>
> So I'll think still continuing to use null as unrestricted department
> access.
>
> Is it reasonable to create unique constraint using
>
> CREATE UNIQUE INDEX user_id_permission_id_department_id_unique_idx
> ON permission (user_id, permission_id, COALESCE(department_id,'ALL'))

If you are going to do this a partial index is a better way to go.
Something like:
CREATE UNIQUE INDEX user_id_permission_id_null ON permission
WHERE department_id IS NULL;

However either of these let you insert and entry for "ALL" while also
having entries for individual departments.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Richard_D_Levine 2005-07-15 20:16:20 Re: How to create unique constraint on NULL columns
Previous Message Solange 2005-07-15 19:15:26 Re: PostgreSQL 8.0.3