Postgresql 中文操作指南

68.2. Built-in Operator Classes #

PostgreSQL 核心分发包括在 Table 68.1 中显示的 GiST 运算符类。( Appendix F 中描述的一些可选模块提供了其他 GiST 运算符类。)

Table 68.1. Built-in GiST Operator Classes

Name

Indexable Operators

Ordering Operators

box_ops

<< (box, box)

<→ (box, point)

&< (box, box)

&& (box, box)

&> (box, box)

>> (box, box)

~= (box, box)

@> (box, box)

<@ (box, box)

_&<

(box, box)_

_<<

(box, box)_

_

>> (box, box)_

_

&> (box, box)_

circle_ops

<< (circle, circle)

<→ (circle, point)

&< (circle, circle)

&> (circle, circle)

>> (circle, circle)

<@ (circle, circle)

@> (circle, circle)

~= (circle, circle)

&& (circle, circle)

_

>> (circle, circle)_

_<<

(circle, circle)_

_&<

(circle, circle)_

_

&> (circle, circle)_

inet_ops

<< (inet, inet)

<⇐ (inet, inet)

>> (inet, inet)

>>= (inet, inet)

= (inet, inet)

<> (inet, inet)

< (inet, inet)

⇐ (inet, inet)

> (inet, inet)

>= (inet, inet)

&& (inet, inet)

multirange_ops

= (anymultirange, anymultirange)

&& (anymultirange, anymultirange)

&& (anymultirange, anyrange)

@> (anymultirange, anyelement)

@> (anymultirange, anymultirange)

@> (anymultirange, anyrange)

<@ (anymultirange, anymultirange)

<@ (anymultirange, anyrange)

<< (anymultirange, anymultirange)

<< (anymultirange, anyrange)

>> (anymultirange, anymultirange)

>> (anymultirange, anyrange)

&< (anymultirange, anymultirange)

&< (anymultirange, anyrange)

&> (anymultirange, anymultirange)

&> (anymultirange, anyrange)

_-

- (anymultirange, anymultirange)_

_-

- (anymultirange, anyrange)_

point_ops

_

>> (point, point)_

<→ (point, point)

<< (point, point)

>> (point, point)

_<<

(point, point)_

~= (point, point)

<@ (point, box)

<@ (point, polygon)

<@ (point, circle)

poly_ops

<< (polygon, polygon)

<→ (polygon, point)

&< (polygon, polygon)

&> (polygon, polygon)

>> (polygon, polygon)

<@ (polygon, polygon)

@> (polygon, polygon)

~= (polygon, polygon)

&& (polygon, polygon)

_<<

(polygon, polygon)_

_&<

(polygon, polygon)_

_

&> (polygon, polygon)_

_

>> (polygon, polygon)_

range_ops

= (anyrange, anyrange)

&& (anyrange, anyrange)

&& (anyrange, anymultirange)

@> (anyrange, anyelement)

@> (anyrange, anyrange)

@> (anyrange, anymultirange)

<@ (anyrange, anyrange)

<@ (anyrange, anymultirange)

<< (anyrange, anyrange)

<< (anyrange, anymultirange)

>> (anyrange, anyrange)

>> (anyrange, anymultirange)

&< (anyrange, anyrange)

&< (anyrange, anymultirange)

&> (anyrange, anyrange)

&> (anyrange, anymultirange)

_-

- (anyrange, anyrange)_

_-

- (anyrange, anymultirange)_

tsquery_ops

<@ (tsquery, tsquery)

@> (tsquery, tsquery)

tsvector_ops

@@ (tsvector, tsquery)

由于历史原因,inet_ops 运算符类不是类型 inetcidr 的默认类。要使用它,请在 CREATE INDEX 中提到类名,例如

CREATE INDEX ON my_table USING GIST (my_inet_column inet_ops);