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 had to 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_20170202 child 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. ... -- Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance