Re: On partitioning

From: Claudio Freire <klaussfreire(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Josh Berkus <josh(at)agliodbs(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: On partitioning
Date: 2014-12-16 15:28:57
Message-ID: CAGTBQpZSEvcvr_CHu=kWhapqWNjXCH+zbFPY5ybcPjJt32MpCA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Dec 16, 2014 at 12:15 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> wrote:
>> Robert wrote:
>>> On Sun, Dec 14, 2014 at 9:12 PM, Amit Langote
>>> <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> wrote:
>>> > This means if a user puts arbitrary expressions in a partition definition, say,
>>> >
>>> > ... FOR VALUES extract(month from current_date) TO extract(month from
>>> current_date + interval '3 months'),
>>> >
>>> > we make sure that those expressions are pre-computed to literal values.
>>>
>>> I would expect that to fail, just as it would fail if you tried to
>>> build an index using a volatile expression.
>>
>> Oops, wrong example, sorry. In case of an otherwise good expression?
>
> I'm not really sure what you are getting here. An "otherwise-good
> expression" basically means a constant. Index expressions have to be
> things that always produce the same result given the same input,
> because otherwise you might get a different result when searching the
> index than you did when building it, and then you would fail to find
> keys that are actually present.

I think the point is partitioning based on the result of an expression
over row columns. Or if it's not, it should be made anyway:

PARTITION BY LIST (extract(month from date_created) VALUES (1, 3, 6, 9, 12);

Or something like that.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Claudio Freire 2014-12-16 15:42:56 Re: Commitfest problems
Previous Message Tom Lane 2014-12-16 15:16:19 Re: NUMERIC private methods?