| From: | Melvin Davidson <melvin6925(at)gmail(dot)com> | 
|---|---|
| To: | Jayadevan M <maymala(dot)jayadevan(at)gmail(dot)com> | 
| Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> | 
| Subject: | Re: Partitioning and constraint exclusion | 
| Date: | 2015-09-07 13:42:35 | 
| Message-ID: | CANu8FizptPVzR8TAeYsje-6jSJyNLucipuQqNTQThsf-pHduyw@mail.gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
First, what is the PostgresSQL version ??????
Next, in postgresql.conf, what is the value of constraint_exclusion ?
On Mon, Sep 7, 2015 at 8:55 AM, Jayadevan M <maymala(dot)jayadevan(at)gmail(dot)com>
wrote:
> Hello ,
>
> I have a parent table and 6 child tables (partitions). The child tables
> have check constraints defined in the form
> CHECK (myuid in (123,456,..)).
> myuid is bigint, the constraints for the 6 child tables are definitely
> mutually exclusive. The number of values in the list ranges from 2-10 for 5
> of the child tables. For the 6th child table, the list is 2500+ elements.
> When I try explain/explain analyze for even a simple query like
>
> select * from parent where myuid in (123,456,789)
>
> the child table with 2500+ elements gets always scanned. I have an index
> on the column and that does get used. But why doesn't the planner just use
> constraint exclusion and not go for the index scan? Anyone faced a similar
> issue?
>
> Thanks,
> Jayadevan
>
-- 
*Melvin Davidson*
I reserve the right to fantasize.  Whether or not you
wish to share my fantasy is entirely up to you.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | FarjadFarid(ChkNet) | 2015-09-07 14:14:45 | Re: table dependencies | 
| Previous Message | Melvin Davidson | 2015-09-07 13:37:48 | Re: table dependencies |