予約テーブル
• EXCLUDEの排他制約で予約の重複を防ぐ制約
CREATE TABLEreservation(
during daterange,
EXCLUDE USING GIST(during WITH &&)
);
INSERT INTO reservation
VALUES('[2017-03-10, 2017-03-12]');
INSERT INTO reservation
VALUES('[2017-03-11, 2017-03-13]');
--重なりがあるのでエラー
↑duringの重なりの排他