在创建索引时,似乎不支持在官方doc中列出的postgres的内置运算符类。
例如以下遇到错误
CREATE INDEX my_index_name
ON public.my_table USING btree
(my_column timestamptz_minmax_ops)
TABLESPACE pg_default;
虽然没关系
CREATE INDEX my_index_name
ON public.my_table USING btree
(my_column timestamptz_ops)
TABLESPACE pg_default;
即使timestamptz_minmax_ops
被列为文档中操作符类的名称。
我错过了什么吗?
答案 0 :(得分:2)
运算符类{=LARGE(INDIRECT(CONCATENATE("$a$1:$a$",SMALL(IF($C$2:$C$101=INDIRECT(CONCATENATE("a",LARGE(IF(ISNUMBER($A$2:$A2),ROW($A$2:$A2)),1))),ROW(A$2:A$101)),ROW(A2)-LARGE(IF(ISNUMBER($A$2:$A2),ROW($A$2:$A2)),1)+1))),1)}
用于timestamptz_minmax_ops
访问方法,而不用于brin
,因此错误。
只有在创建索引btree
时才能使用此运算符类,而缺少USING brin
子句的索引使用默认访问方法USING
。
帮助您实现目标:为什么要btree
?索引加速了什么查询?