partitioning-clause:

1 PARTITION BY
2! RANGE
2.1 range-partition-spec
2 HASH hash-partition-spec

range-partition-spec:

1 (
2+ ,
2 column-name
2.1! NULLS LAST
2.1?
2.1 NULLS FIRST
2.1.1 ) (
2.1.1.1+ ,
2.1.1.1.0? PARTITION partition-name
2.1.1.1.1 boundary-spec
2.1.1.1 boundary-spec EVERY ( integer-constant
2.1.1.1.1? 
2.1.1.1.1 DAY
2.1.1.1.1 DAYS
2.1.1.1.1 MONTH
2.1.1.1.1 MONTHS
2.1.1.1.1 YEAR
2.1.1.1.1 YEARS
2.1.1.1.2 )
2.1.1.1.2.1 )

hash-partition-spec:

1 (
2+ ,
2 column-name
3 ) INTO integer PARTITIONS

boundary-spec:

1 starting-clause ending-clause

starting-clause:

1 STARTING
2! FROM
3 (
3.1+ ,
3.1.0 constant
3.1.0 MINVALUE
3.1.0 MAXVALUE
3.2 )
3 constant
3 MINVALUE
3 MAXVALUE
4! INCLUSIVE
4?
4 EXCLUSIVE

ending-clause:

1 ENDING
2! AT
3 (
3.1+ ,
3.1.0 constant
3.1.0 MINVALUE
3.1.0 MAXVALUE
3.2 )
3 constant
3 MINVALUE
3 MAXVALUE
4! INCLUSIVE
4?
4 EXCLUSIVE