Re: check constraint question

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Tim Rupp" <caphrim007(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: check constraint question
Date: 2008-01-24 15:47:57
Message-ID: 10870.1201189677@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

"Tim Rupp" <caphrim007(at)gmail(dot)com> writes:
> ... a bunch of inherited tables that have the following constraint

> CHECK (start_time >= '2008-01-01'::date AND end_time < '2008-01-01'::date)

> and when i do the same query (as in the documentation) on the table, I
> get a bunch of sequential scans in the planner, and it appears to
> ignore my constraints

> netflow=# explain SELECT count(*) FROM flows WHERE start_time >= DATE
> '2008-01-23' AND end_time < '2008-01-26'::date;

I don't think you've thought this through carefully. That WHERE
condition is not inconsistent with that CHECK constraint, ie, there
could be some rows in the table that meet the WHERE. In fact,
a set of constraints of this form don't represent a unique partitioning
do they? (They might if you added the additional constraint that
start_time <= end_time, but that's not explicit here.)

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Louis-David Mitterrand 2008-01-24 15:54:21 can't create index with 'dowcast' row
Previous Message Bill Moran 2008-01-24 15:46:24 Re: Getting all tables into memory