官术网_书友最值得收藏!

Creating operator classes

Finally, all components are in place and it is finally possible to create the operator class needed by the index:

CREATE OPERATOR CLASS sva_special_ops 
FOR TYPE text USING btree
AS
OPERATOR 1 <# ,
OPERATOR 2 <=# ,
OPERATOR 3 = ,
OPERATOR 4 >=# ,
OPERATOR 5 ># ,

FUNCTION 1 si_same(text, text);

The CREATE OPERATOR CLASS command connects strategies and operators  OPERATOR 1.

<# means that strategy 1 will use the <# operator. Finally, the _same function is connected with the operator class.

Note that the operator class has a name and that it has been explicitly defined to work with b-trees. The operator class can already be used during index creation:

CREATE INDEX idx_special ON t_sva (sva sva_special_ops);

Creating an index works in a slightly different way than previously: sva sva_special_ops means that the sva column is indexed using the sva_special_ops operator class. If sva_special_ops is not explicitly used, then PostgreSQL will not go for our special sort order but decide on the default operator class.

主站蜘蛛池模板: 永年县| 新龙县| 吉水县| 融水| 绥中县| 慈利县| 北流市| 彭山县| 资阳市| 吴忠市| 历史| 维西| 太白县| 松潘县| 澄迈县| 缙云县| 绍兴县| 河东区| 老河口市| 阳江市| 乌兰浩特市| 延吉市| 皋兰县| 安丘市| 社会| 蒙山县| 河曲县| 台江县| 荥阳市| 车致| 平乡县| 安仁县| 通州区| 泰安市| 湾仔区| 白山市| 东平县| 布尔津县| 都昌县| 泸溪县| 确山县|