小编Ami*_*iri的帖子

Postgres GIN 索引 (VARCHAR, JSONB)

我有一个表,其中的架构如下:

CREATE TABLE table1(
  account VARCHAR(64) NOT NULL,
  json    JSONB       NOT NULL
);
Run Code Online (Sandbox Code Playgroud)

我想在其上创建一个索引,以允许我运行以下查询:

SELECT *
FROM table1
WHERE account = :account
  AND json ... -- Some JSON search expression
Run Code Online (Sandbox Code Playgroud)

所以我尝试在这个表上添加一个索引,如下所示:

CREATE INDEX index1 ON table1 USING GIN (account, json);
Run Code Online (Sandbox Code Playgroud)

我得到:

ERROR: data type character varying 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.
Run Code Online (Sandbox Code Playgroud)

我试过添加_varchar_ops

CREATE INDEX …
Run Code Online (Sandbox Code Playgroud)

postgresql

4
推荐指数
1
解决办法
3920
查看次数

标签 统计

postgresql ×1