正如我在文档中看到的那样,有可能创建将拒绝重叠范围的 gist 索引
CREATE TABLE room_reservation (
room text,
during daterange,
EXCLUDE USING gist (room WITH =, during WITH &&)
);
它工作得很好,但是如何调整它以不计算无限范围 - '(,)'(例如从 -inf 到 inf 的范围)重叠到除了 self 之外的任何东西。例如,我想只允许添加一个无限边界的行,而休息日期范围应该只使用 && 运算符来检查。
有效数据:
| 房间 | 期间| | r1 | (,) | | r2 | (10.09.2012, 10.09.2013) | | r2 | (11.09.2013, 11.11.2013 |
并插入带有 during = (01.01.2013, 01.01.2015) 的行会抛出错误。