Re: [PERFORM] Partitioned table - scans through every partitions
От | Aniko Belim |
---|---|
Тема | Re: [PERFORM] Partitioned table - scans through every partitions |
Дата | |
Msg-id | A05FD56F-D5AE-45D6-BDAD-32AF48B532A9@spiceworks.com обсуждение исходный текст |
Ответ на | Re: [PERFORM] Partitioned table - scans through every partitions (Justin Pryzby <pryzby@telsasoft.com>) |
Список | 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 по дате отправления: