-- Core must test WITHOUT OVERLAPS -- with an int4range + daterange, -- so here we do some simple tests -- to make sure int + daterange works too, -- since that is the expected use-case. CREATETABLE temporal_rng (
id integer,
valid_at daterange, CONSTRAINT temporal_rng_pk PRIMARYKEY (id, valid_at WITHOUT OVERLAPS)
);
\d temporal_rng SELECT pg_get_constraintdef(oid) FROM pg_constraint WHERE conname = 'temporal_rng_pk'; SELECT pg_get_indexdef(conindid, 0, true) FROM pg_constraint WHERE conname = 'temporal_rng_pk';
INSERTINTO temporal_rng VALUES
(1, '[2000-01-01,2001-01-01)'); -- same key, doesn't overlap: INSERTINTO temporal_rng VALUES
(1, '[2001-01-01,2002-01-01)'); -- overlaps but different key: INSERTINTO temporal_rng VALUES
(2, '[2000-01-01,2001-01-01)'); -- should fail: INSERTINTO temporal_rng VALUES
(1, '[2000-06-01,2001-01-01)');
-- Foreign key CREATETABLE temporal_fk_rng2rng (
id integer,
valid_at daterange,
parent_id integer, CONSTRAINT temporal_fk_rng2rng_pk PRIMARYKEY (id, valid_at WITHOUT OVERLAPS), CONSTRAINT temporal_fk_rng2rng_fk FOREIGNKEY (parent_id, PERIOD valid_at) REFERENCES temporal_rng (id, PERIOD valid_at)
);
\d temporal_fk_rng2rng SELECT pg_get_constraintdef(oid) FROM pg_constraint WHERE conname = 'temporal_fk_rng2rng_fk';
-- okay INSERTINTO temporal_fk_rng2rng VALUES
(1, '[2000-01-01,2001-01-01)', 1); -- okay spanning two parent records: INSERTINTO temporal_fk_rng2rng VALUES
(2, '[2000-01-01,2002-01-01)', 1); -- key is missing INSERTINTO temporal_fk_rng2rng VALUES
(3, '[2000-01-01,2001-01-01)', 3); -- key exist but is outside range INSERTINTO temporal_fk_rng2rng VALUES
(4, '[2001-01-01,2002-01-01)', 2); -- key exist but is partly outside range INSERTINTO temporal_fk_rng2rng VALUES
(5, '[2000-01-01,2002-01-01)', 2);
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet am 2026-08-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.