如何在具有指定运算符的现有索引中添加排除约束?

时间:2018-07-09 17:42:56

标签: postgresql postgresql-10

假设以下索引:

CREATE INDEX CONCURRENTLY blocked_date_idx_on_since_until_range
  ON blocked_date
  USING gist(
    tstzrange(
      "blocked_since",
      "blocked_until",
      '[]'
    )
  );

我想在2个日期中选择一个范围

ALTER TABLE blocked_date
  ADD CONSTRAINT blocked_date_since_until_overlap
  EXCLUDE
    USING INDEX blocked_date_idx_on_since_until_range WITH &&;

此语法无效(出现错误),但是找不到有效的语法,无法在其中指定要在索引上使用的运算符。 ALTER TABLE部分的正确语法是什么?

1 个答案:

答案 0 :(得分:0)

当前没有语法可实现此目的。您需要直接创建约束,并且不能预先创建索引。