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 >