Эквивалентно исключающему ограничению, состоящему из целого числа и диапазона

Мне нужно что-то эквивалентное этому 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 не имеет класса оператора по умолчанию

Другие вопросы по тегам