| From: | Harald Fuchs <hari(dot)fuchs(at)gmail(dot)com> |
|---|---|
| To: | pgsql-sql(at)postgresql(dot)org |
| Subject: | Re: exclusion constraint for ranges of IP |
| Date: | 2011-08-21 22:19:53 |
| Message-ID: | 86ty9a5rw6.fsf@mgm.protecting.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-sql |
In article <CAF36091-203E-4C10-AA53-7D9087114D35(at)unicell(dot)co(dot)il>,
Herouth Maoz <herouth(at)unicell(dot)co(dot)il> writes:
> Hi,
> I'm designing a new database. One of the table contains allowed IP ranges for a customer (Fields: customer_id, from_ip, to_ip) which is intended to check - if an incoming connection's originating IP number falls within the range, it is identified as a particular customer.
> Naturally, I'd like to have constraints on the table that prevent entering of ip ranges that overlap. Is there a way to do that with exclusion constraints? Or do I have to define a new type for this?
This "new type" already exists: ip4r, which can be found in pgfoundry.
With it you can do
CREATE TABLE mytbl (
iprange ip4r NOT NULL,
...,
CONSTRAINT range_check CHECK ((NOT overlap(iprange)))
);
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Herouth Maoz | 2011-08-22 08:31:50 | Re: exclusion constraint for ranges of IP |
| Previous Message | Herouth Maoz | 2011-08-21 15:08:13 | exclusion constraint for ranges of IP |