I would like propose $SUBJECT for this development cycle. Attached is a WIP patch that implements most if not all of what's described below. Some yet unaddressed parts are mentioned below, too. I'll add this to the CF-SEP.
Syntax ======
1. Creating a partitioned table
CREATE TABLE table_name PARTITION BY {RANGE|LIST} ON (column_list);
Where column_list consists of simple column names or expressions:
PARTITION BY LIST ON (name) PARTITION BY RANGE ON (year, month)
PARTITION BY LIST ON ((lower(left(name, 2))) PARTITION BY RANGE ON ((extract(year from d)), (extract(month from d)))
How about HASH partitioning? Are there plans to support foreign tables as partitions?