【发布时间】:2013-07-25 00:47:09
【问题描述】:
我有一个 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”。考虑这是 hstore 中的 EAV 模型。
【问题讨论】:
标签: postgresql operators postgresql-9.2 database-indexes hstore