内置运算符类timestamptz_minmax_ops不支持在postgresql中创建索引

时间:2017-09-04 18:41:48

标签: postgresql

在创建索引时,似乎不支持在官方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被列为文档中操作符类的名称。

我错过了什么吗?

1 个答案:

答案 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?索引加速了什么查询?