Range partition creation failing due to incorrectly deciding lower bound greater than upper

From: Mark Kirkwood <mark(dot)kirkwood(at)catalyst(dot)net(dot)nz>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Range partition creation failing due to incorrectly deciding lower bound greater than upper
Date: 2018-08-03 22:54:52
Message-ID: eb8605c2-48fd-27d5-f8a3-bd9fa2d1cd18@catalyst.net.nz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

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

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Mark Kirkwood 2018-08-03 22:58:17 Re: Range partition creation failing due to incorrectly deciding lower bound greater than upper
Previous Message Andres Freund 2018-08-03 22:44:55 Re: Fwd: Problem with a "complex" upsert