Hi,
I am clearly not understanding something. Consider:
> xof=# create table t (pk bigint not null, ts timestamp not null) partition by range (ts, pk);
> CREATE TABLE
> xof=# create table t1 partition of t for values from ('2024-01-01'::timestamp, minvalue) to ('2024-02-01'::timestamp,
maxvalue);
> CREATE TABLE
> xof=# create table t2 partition of t for values from ('2024-02-01'::timestamp, minvalue) to ('2024-03-01'::timestamp,
maxvalue);
> ERROR: partition "t2" would overlap partition "t1"
> LINE 1: ...on of t for values from ('2024-02-01'::timestamp, minvalue) ...
> ^
> xof=#
In what way do those partitions overlap? In other words, there does not appear to be a value of (ts, pk) having
'2024-01-01'::timestamp<= ts < '2024-03-01'::timestamp for any pk where it would be ambiguous which partition that row
wouldgo into. (I'm imagining it on a cartesian plane, and there isn't any overlap between the rectangles those
partitionboundaries define.)
I'm obviously missing something, but... what? Thank you!