Re: On partitioning

From: "Amit Langote" <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>
To: "'Robert Haas'" <robertmhaas(at)gmail(dot)com>, "'Amit Kapila'" <amit(dot)kapila16(at)gmail(dot)com>
Cc: "'Andres Freund'" <andres(at)2ndquadrant(dot)com>, "'Alvaro Herrera'" <alvherre(at)2ndquadrant(dot)com>, "'Bruce Momjian'" <bruce(at)momjian(dot)us>, "'Pg Hackers'" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: On partitioning
Date: 2014-12-09 02:38:05
Message-ID: 002d01d01359$290cb4a0$7b261de0$@lab.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


> From: Robert Haas [mailto:robertmhaas(at)gmail(dot)com]
> On Sat, Dec 6, 2014 at 2:59 AM, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
> wrote:
> >> I guess you could list or hash partition on multiple columns, too.
> >
> > How would you distinguish values in list partition for multiple
> > columns? I mean for range partition, we are sure there will
> > be either one value for each column, but for list it could
> > be multiple and not fixed for each partition, so I think it will not
> > be easy to support the multicolumn partition key for list
> > partitions.
>
> I don't understand. If you want to range partition on columns (a, b),
> you say that, say, tuples with (a, b) values less than (100, 200) go
> here and the rest go elsewhere. For list partitioning, you say that,
> say, tuples with (a, b) values of EXACTLY (100, 200) go here and the
> rest go elsewhere. I'm not sure how useful that is but it's not
> illogical.
>

In case of list partitioning, 100 and 200 would respectively be one of the values in lists of allowed values for a and b. I thought his concern is whether this "list of values for each column in partkey" is as convenient to store and manipulate as range partvalues.

Thanks,
Amit

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2014-12-09 03:26:52 moving from contrib to bin
Previous Message Tom Lane 2014-12-09 02:18:27 Re: alter user set local_preload_libraries.