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

  • Mastering PostgreSQL 9.6
  • Hans Jurgen Schonig
  • 162字
  • 2021-07-09 19:57:20

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.

主站蜘蛛池模板: 驻马店市| 沙坪坝区| 察雅县| 永康市| 原平市| 陆丰市| 新巴尔虎左旗| 阜阳市| 昭平县| 伊宁市| 阜南县| 阳新县| 五指山市| 河北区| 周口市| 湾仔区| 涞源县| 富锦市| 高淳县| 商水县| 扬中市| 资讯 | 利辛县| 清徐县| 奎屯市| 万宁市| 横峰县| 临江市| 布拖县| 衡阳市| 保靖县| 永嘉县| 格尔木市| 日喀则市| 荆州市| 内丘县| 岑溪市| 长乐市| 石渠县| 南通市| 沂南县|