Re: exclusion constraint for ranges of IP

From: Jasen Betts <jasen(at)xnet(dot)co(dot)nz>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: exclusion constraint for ranges of IP
Date: 2011-08-23 10:31:42
Message-ID: j2vvie$u2i$2@reversiblemaps.ath.cx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On 2011-08-23, Herouth Maoz <herouth(at)unicell(dot)co(dot)il> wrote:

> EXCLUDE USING GIST ( customer_id WITH =, is_default WITH AND )

> Basically, each customer can have several rows in this table, but only =
> one per customer is allowed to have is_default =3D true. Is this exclude =
> constraint correct?

I don't really understand exclude, but instead of EXCLUDE... I would do

CREATE UNIQUE INDEX "invoice_definitions-unique-default"
ON invoice_definitions(customer_id) WHERE is_default;

Which would create a smaller (and probably faster) BTREE index
containing only the rows with is_default true.

There seems to be no way to create this in the create-table
command. (using 8.4 here)

--
⚂⚃ 100% natural

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Herouth Maoz 2011-08-23 11:39:59 Re: exclusion constraint for ranges of IP
Previous Message Samuel Gendler 2011-08-23 10:15:54 Re: exclusion constraint for ranges of IP