我有一個帶有json欄位的架構表。該檔案已經填充了很多資料。
CREATE TABLE table(
id UUID NOT NULL
data JSON NOT NULL
);
我想為 json 欄位創建一個索引。我試過下面的腳本
__table_args__ = (
Index("index_table_on_data_gin",
"data",
postgresql_using='gin',),
),
Index("index_table_on_id_gin",
"id",
postgresql_using='gin',),
),
)
這是我得到的錯誤。
JSON索引創建錯誤
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedObject) data type json has no default operator class for access method "gin"
UUID 索引創建錯誤
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedObject) data type uuid has no default operator class for access method "gin"
uj5u.com熱心網友回復:
您不能索引json型別,但可以索引jsonb型別,請參閱手冊。jsonb應該是您的首選型別(請參閱手冊)
uj5u.com熱心網友回復:
您可以使用btree_gin擴展來用 GIN 索引 UUID(雖然我不明白這一點,為什么不直接使用常規 btree 呢?)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/437316.html
