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

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 the 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.

主站蜘蛛池模板: 平定县| 诸城市| 厦门市| 贺州市| 石狮市| 葫芦岛市| 淳安县| 封丘县| 宁河县| 融水| 永泰县| 富川| 夏津县| 元谋县| 栖霞市| 颍上县| 泌阳县| 蒙山县| 清流县| 海安县| 苍梧县| 兴业县| 祁东县| 金川县| 南康市| 武平县| 斗六市| 安陆市| 沙湾县| 海口市| 柘城县| 托里县| 盘锦市| 囊谦县| 莱州市| 加查县| 新闻| 乌拉特中旗| 绥中县| 泗阳县| 星座|