Thread: Range partition creation failing due to incorrectly deciding lowerbound greater than upper

I'm seeing a partition failing to create (10.4 built from src on Ubuntu 
18.04, default db parameters):

part=# CREATE TABLE date_fact(
    id  INTEGER NOT NULL,
    dte TIMESTAMPTZ NOT NULL,
    val INTEGER NOT NULL)
PARTITION BY RANGE (dte);
CREATE TABLE


part=# CREATE TABLE date_fact_2020 PARTITION OF date_fact
FOR VALUES FROM ('2018-09-30 01:54:00.625000') TO ('2018-09-30 
02:34:42.031250');
CREATE TABLE


part=# CREATE TABLE date_fact_2021 PARTITION OF date_fact
FOR VALUES FROM ('2018-09-30 02:34:42.031250') TO ('2018-09-30 
03:15:23.437500');
ERROR:  empty range bound specified for partition "date_fact_2021"
DETAIL:  Specified lower bound ('2018-09-30 03:34:42.03125+13') is 
greater than or equal to upper bound ('2018-09-30 03:15:23.4375+13').

Err, that is weird - where did '2018-09-30 03:34:42.03125+13')come from?

I initially ran into this creating 4096 partitions (yeah, I know that is 
probably too many), but it reproduces in the above case with only 2.

regards

Mark




On 04/08/18 10:54, Mark Kirkwood wrote:

>
>
> part=# CREATE TABLE date_fact_2021 PARTITION OF date_fact
> FOR VALUES FROM ('2018-09-30 02:34:42.031250') TO ('2018-09-30 
> 03:15:23.437500');
> ERROR:  empty range bound specified for partition "date_fact_2021"
> DETAIL:  Specified lower bound ('2018-09-30 03:34:42.03125+13') is 
> greater than or equal to upper bound ('2018-09-30 03:15:23.4375+13').
>
> Err, that is weird - where did '2018-09-30 03:34:42.03125+13')come from?
>
>

Doh! New Zealand daylight saving kicks in just then - should have 
checked that 1st, sorry.

regards
Mark