I have updated the patch to make it similar to the way default/null is handled in list partition, removing the PARTITION_RANGE_DATUM_DEFAULT. This is to be applied over v24 patches shared by Jeevan [1] which applies on commit id 5ff3d73813ebcc3ff80be77c30b458d728951036.
The RelationBuildPartitionDesc has been modified a lot, especially the way all_bounds, ndatums and rbounds are set.
I have applied Jeevan's v24 patches and then your v9 patch over commit 5ff3d73813ebcc3ff80be77c30b458d728951036.
and while testing I got a server crash. below is sql to reproduce it.
postgres=# CREATE TABLE rp (a int, b int) PARTITION by range (a); CREATE TABLE postgres=# CREATE TABLE rp_p1 PARTITION OF rp DEFAULT partition by range(a); CREATE TABLE postgres=# CREATE TABLE rp_p11 PARTITION OF rp_p1 FOR VALUES FROM (1) TO (15); CREATE TABLE postgres=# CREATE TABLE rp_p12 PARTITION OF rp_p1 DEFAULT; CREATE TABLE postgres=# insert into rp select i,i from generate_series(1,15) i; server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. The connection to the server was lost. Attempting reset: Failed.