Re: [PERFORM] Partitioned table - scans through every partitions - Mailing list pgsql-performance

From Aniko Belim
Subject Re: [PERFORM] Partitioned table - scans through every partitions
Date
Msg-id A05FD56F-D5AE-45D6-BDAD-32AF48B532A9@spiceworks.com
Whole thread Raw
In response to Re: [PERFORM] Partitioned table - scans through every partitions  (Justin Pryzby <pryzby@telsasoft.com>)
List pgsql-performance
Thank you, Justin!  

Aniko




On 8/25/17, 10:44 AM, "Justin Pryzby" <pryzby@telsasoft.com> wrote:

>On Fri, Aug 25, 2017 at 03:36:29PM +0000, Aniko Belim wrote:
>> Hi,
>> 
>> We have an issue with one of our partitioned tables. It has a column with timestamp without time zone type, and we
hadto partition it daily. To do that, we created the following constraints like this example:
 
>> CHECK (to_char(impression_time, 'YYYYMMDD'::text) = '20170202'::text)
>> 
>> 
>> The problem we’re facing is no matter how we’re trying to select from it, it scans through every partitions.
>
>
>> It scans through every partitions. Shouldn’t it only scan the
dfp_in_network_impressions.dfp_in_network_impressions_20170202child table? Or we missing something?
 
>> Any advice/help would highly appreciated.
>
>https://www.postgresql.org/docs/9.6/static/ddl-partitioning.html#DDL-PARTITIONING-CAVEATS
>|The following caveats apply to constraint exclusion:
>|    Constraint exclusion only works when the query's WHERE clause contains
>|    constants (or externally supplied parameters). For example, a comparison
>|    against a non-immutable function such as CURRENT_TIMESTAMP cannot be
>|    optimized, since the planner cannot know which partition the function value
>|    might fall into at run time.
>
>...

pgsql-performance by date:

Previous
From: Justin Pryzby
Date:
Subject: Re: [PERFORM] Partitioned table - scans through every partitions
Next
From: Felix Geisendörfer
Date:
Subject: Re: [PERFORM] 10x faster sort performance on Skylake CPU vs IvyBridge