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 would go into. (I'm imagining it on a cartesian plane, and there
isn't any overlap between the rectangles those partition boundaries define.)
I'm obviously missing something, but... what? Thank you!