Re: partition pruning - Mailing list pgsql-performance

From Robert Haas
Subject Re: partition pruning
Date
Msg-id 603c8f071003041440r2ec69a9dw91153f35ab2b3d53@mail.gmail.com
Whole thread Raw
In response to partition pruning  (Anj Adu <fotographs@gmail.com>)
Responses Re: partition pruning
List pgsql-performance
On Mon, Mar 1, 2010 at 2:29 PM, Anj Adu <fotographs@gmail.com> wrote:
> When I use intervals in my query e.g  col1 between current_timestamp -
> interval '10 days' and current_timestamp...the optimizer checks ALL
> partitions  whereas if I use   col1 between 2 hardcoded dates..only
> the applicable partitions are scanned.

Yep.  This is one example of a more general principle:
constant-folding happens before planning, but anything more complex
has to wait until execution time.  So the plan can't take into account
the value of current_timestamp in forming the plan.

Unfortunately I don't think there's really any easy way around this:
you have to do select current_timestamp, current_timestamp - interval
'10 days' first and then build & execute a new query.

...Robert

pgsql-performance by date:

Previous
From: Robert Haas
Date:
Subject: Re: Estimation issue with partitioned tables
Next
From: Josh Berkus
Date:
Subject: Re: Estimation issue with partitioned tables