Check/unique constraint question - Mailing list pgsql-sql

From Jeff Frost
Subject Check/unique constraint question
Date
Msg-id Pine.LNX.4.64.0603050015050.29717@discord.dyndns.org
Whole thread Raw
Responses Re: Check/unique constraint question
Re: Check/unique constraint question
List pgsql-sql
I have a table with the following structure:
   Column   |  Type   |       Modifiers
------------+---------+----------------------- active     | boolean | not null default true id         | integer | not
null
(other columns left out)

And would like to make a unique constraint which would only check the 
uniqueness of id if active=true.

So, the following values would be acceptable:

('f',5)
('f',5)
('t',5)

But these would not be:

('t',5)
('t',5)

Basically, I want something like:
ALTER TABLE bar ADD CONSTRAINT foo UNIQUE(active (where active='t'),id)

But the above does not appear to exist.  Is there a simple way to create a 
check constraint for this type of situation, or do I need to create a function 
to eval a check constraint?

-- 
Jeff Frost, Owner     <jeff@frostconsultingllc.com>
Frost Consulting, LLC     http://www.frostconsultingllc.com/
Phone: 650-780-7908    FAX: 650-649-1954


pgsql-sql by date:

Previous
From: "Peter Ivarsson"
Date:
Subject: unsubscribe
Next
From: "Nikolay Samokhvalov"
Date:
Subject: Re: Check/unique constraint question