如何在 Postgres 的 JSON 字段创建索引?

在 PostgreSQL 9.3 Beta 2(?)中,如何在 JSON 字段上创建索引?我使用用于 hstore->操作符进行了尝试,但是得到了以下错误:

 CREATE TABLE publishers(id INT, info JSON);
CREATE INDEX ON publishers((info->'name'));

错误: 数据类型 json 没有访问方法的默认操作符类 “ btree”提示: 您必须为索引或 为数据类型定义默认运算符类。

88941 次浏览

发现:

CREATE TABLE publishers(id INT, info JSON);
CREATE INDEX ON publishers((info->>'name'));

如评论中所述,这里的细微差别是 ->>而不是 ->。前者以文本形式返回值,后者以 JSON 对象形式返回值。