67.2. Built-in Operator Classes

|67.2. Built-in Operator Classes|              |                       |                  |                               |
|:-----------------------------:|--------------|-----------------------|------------------|-------------------------------|
|    [Prev](gin-intro.html)     |[Up](gin.html)|Chapter 67. GIN Indexes|[Home](index.html)| [Next](gin-extensibility.html)|

---

## 67.2. Built-in Operator Classes

 The core PostgreSQL distribution includes the GIN operator classes shown in [Table 67.1](gin-builtin-opclasses.html#GIN-BUILTIN-OPCLASSES-TABLE). (Some of the optional modules described in [Appendix F](contrib.html) provide additional GIN operator classes.)

**Table 67.1. Built-in GIN Operator Classes**

|          Name          |  Indexable Operators   |
|------------------------|------------------------|
|      `array_ops`       |`&& (anyarray,anyarray)`|
|`@> (anyarray,anyarray)`|                        |
|`<@ (anyarray,anyarray)`|                        |
|`= (anyarray,anyarray)` |                        |
|      `jsonb_ops`       |   `@> (jsonb,jsonb)`   |
| `@? (jsonb,jsonpath)`  |                        |
| `@@ (jsonb,jsonpath)`  |                        |
|    `? (jsonb,text)`    |                        |
|  `?| (jsonb,text[])`   |                        |
|  `?& (jsonb,text[])`   |                        |
|    `jsonb_path_ops`    |   `@> (jsonb,jsonb)`   |
| `@? (jsonb,jsonpath)`  |                        |
| `@@ (jsonb,jsonpath)`  |                        |
|     `tsvector_ops`     |`@@ (tsvector,tsquery)` |
|`@@@ (tsvector,tsquery)`|                        |

 Of the two operator classes for type `jsonb`, `jsonb_ops` is the default. `jsonb_path_ops` supports fewer operators but offers better performance for those operators. See [Section 8.14.4](datatype-json.html#JSON-INDEXING) for details.

---

|[Prev](gin-intro.html)|  [Up](gin.html)  | [Next](gin-extensibility.html)|
|:---------------------|:----------------:|------------------------------:|
|  67.1. Introduction  |[Home](index.html)|      67.3. Extensibility      |

 // \<![CDATA[ \<-- For SVG support if ('WebSocket' in window) { (function() { function refreshCSS() { var sheets = [].slice.call(document.getElementsByTagName("link")); var head = document.getElementsByTagName("head")[0]; for (var i = 0; i \< sheets.length; ++i) { var elem = sheets[i]; head.removeChild(elem); var rel = elem.rel; if (elem.href && typeof rel != "string" || rel.length == 0 || rel.toLowerCase() == "stylesheet") { var url = elem.href.replace(/(&|\\?)\_cacheOverride=\\d+/, ''); elem.href = url + (url.indexOf('?') \>= 0 ? '&' : '?') + '\_cacheOverride=' + (new Date().valueOf()); } head.appendChild(elem); } } var protocol = window.location.protocol === 'http:' ? 'ws://' : 'wss://'; var address = protocol + window.location.host + window.location.pathname + '/ws'; var socket = new WebSocket(address); socket.onmessage = function(msg) { if (msg.data == 'reload') window.location.reload(); else if (msg.data == 'refreshcss') refreshCSS(); }; console.log('Live reload enabled.'); })(); } // ]]\>