У меня есть таблица со столбцом HSTORE «ext», где значение - int4range. Пример:
"p1"=>"[10, 18]", "p2"=>"[24, 32]", "p3"=>"[29, 32]", "p4"=>"[18, 19]"
Однако когда я пытаюсь создать индекс выражения для этого, я получаю сообщение об ошибке:
CREATE INDEX ix_test3_p1
ON test3
USING gist
(((ext -> 'p1'::text)::int4range));
ОШИБКА: текст типа данных не имеет класса оператора по умолчанию для метода доступа "gist" Состояние SQL: 42704 Подсказка: необходимо указать класс оператора для индекса или определить класс оператора по умолчанию для типа данных.
Как мне создать для этого оператора?
ПРИМЕЧАНИЕ
Каждая запись может иметь свой уникальный набор ключей. Каждый ключ представляет атрибут, а значения - диапазон значений. Таким образом, не все записи будут иметь «p1». Считайте это моделью EAV в hstore.