Re: On partitioning

Amit Langote <langote_amit_f8@lab.ntt.co.jp>

From: "Amit Langote" <Langote_Amit_f8@lab.ntt.co.jp>
To: "'Robert Haas'" <robertmhaas@gmail.com>, "'Amit Kapila'" <amit.kapila16@gmail.com>
Cc: "'Andres Freund'" <andres@2ndquadrant.com>, "'Alvaro Herrera'" <alvherre@2ndquadrant.com>, "'Bruce Momjian'" <bruce@momjian.us>, "'Pg Hackers'" <pgsql-hackers@postgresql.org>
Date: 2014-12-09T02:38:05Z
Lists: pgsql-hackers
> From: Robert Haas [mailto:robertmhaas@gmail.com]
> On Sat, Dec 6, 2014 at 2:59 AM, Amit Kapila <amit.kapila16@gmail.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