En met "tijdstempel" bedoel je een bepaalde periode .
Een uitsluitingsbeperking
op een bereiktype
, gecombineerd met gelijkheid op barid
(gebruikmakend van de extra module btree_gist
) zou de perfecte oplossing zijn.
CREATE EXTENSION btree_gist; -- needed once per database
CREATE TABLE foo (
fooid serial PRIMARY KEY
, barid integer NOT NULL REFERENCES bar(barid)
, bazid integer NOT NULL REFERENCES baz(bazid)
, time_range tsrange NOT NULL -- replaces startdate & enddate
, EXCLUDE USING gist (barid WITH =, time_range WITH &&)
);
Dit vereist Postgres 9.2 of later.
Gerelateerd:
De handleiding heeft een overeenkomend codevoorbeeld!