I think it's confusing to use BETWEEN to mean [low,high) when it already
means [low,high] in WHERE clauses.

Why not leverage range notation instead?

CREATE TABLE parent_monthly_xxxxx_201401 PARTITION OF
parent_monthly_xxxxx FOR VALUES IN RANGE '[2014-04-01,2014-05-01)'

"IN RANGE" could easily be "WITHIN RANGE" or "WITHIN" or something else.

Clearly, this example above assumes that the partitioning is on a single
column.

For partitioning on a set of columns you're essentially creating a custom
composite type with major-minor collation, could that custom type be
created at table creation time? Could an existing composite type be
declared as the partition key?

CREATE TYPE year_month( year int, month int );

(CREATE OPERATOR... for < = > )

CREATE TABLE parent_monthly(year int, month int, day int) PARTITION BY
RANGE ON year_month(year, month);







On Tue, Feb 24, 2015 at 5:53 AM, Amit Langote <langote_amit...@lab.ntt.co.jp
> wrote:

> On 24-02-2015 PM 05:13, Amit Langote wrote:
> > Additionally, a partition can itself be further partitioned (though I
> > have not worked on the implementation details of multilevel partitioning
> > yet):
> >
> > CREATE TABLE table_name PARTITION OF parent_name PARTITION BY
> > {RANGE|LIST} ON(key_columns) FOR VALUES values_clause;
>
> One more blunder, supposed to be:
>
> CREATE TABLE table_name PARTITION OF parent_name FOR VALUES
> values_clause PARTITION BY {RANGE|LIST} ON(key_columns);
>
> Thanks,
> Amit
>
>
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers
>

Reply via email to