Эквивалентно исключающему ограничению, состоящему из целого числа и диапазона
Мне нужно что-то эквивалентное этому exclusion
ограничение
drop table if exists t;
create table t (
i int,
tsr tstzrange,
exclude using gist (i with =, tsr with &&)
);
ERROR: data type integer has no default operator class for access method "gist"
HINT: You must specify an operator class for the index or define a default operator class for the data type.
Я думаю, что проблема очевидна из сообщения об ошибке. Как это сделать?
1 ответ
Решение
Вам необходимо установить дополнительный модуль btree_gist
чтобы это работало. Модуль устанавливает отсутствующий класс операторов.
Подробности в этом ответе:
Ограничение исключения для столбца цепочки битов с побитовым оператором AND
Больше на этот ответ на dba.SE:
PostgreSQL EXCLUDE USING error: тип данных integer не имеет класса оператора по умолчанию