У меня есть product_reviews
TABLE с product_review
столбцом jsonb.
jsonb column : [{"comment": [{"condition": "Good", "Entered": "true"}], "productid": 321}]
CREATE INDEX idx_product_reviews_product_review ON product_reviews USING gin (CAST (product_review ->> 'productid') AS bigint ) ;
Поэтому, когда я пытаюсь создать индекс gin для этого столбца jsonb, я получаю сообщение об ошибке.
ERROR: data type bigint has no default operator class for access method "gin"
HINT: You must specify an operator class for the index or define a default operator class for the data type.
Я хочу индексировать productid как значения типа bigint, поэтому я могу получить значения jsonb «comment», сравнивая этот productid.
<
или>
не определена. Когда эти операции определены, вы можете использовать индекс BTREE. Почти для всех типов поддерживается индекс GIN, GIST или индекс BTREE, но не оба случая. - person Pavel Stehule   schedule 19.02.2017