summaryrefslogtreecommitdiffstats
path: root/doc/src/sgml/html/catalog-pg-opclass.html
blob: 6909f8414676fe66f3e26ac9bfc8a58a313a09ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>53.33. pg_opclass</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@lists.postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><link rel="prev" href="catalog-pg-namespace.html" title="53.32. pg_namespace" /><link rel="next" href="catalog-pg-operator.html" title="53.34. pg_operator" /></head><body id="docContent" class="container-fluid col-10"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">53.33. <code class="structname">pg_opclass</code></th></tr><tr><td width="10%" align="left"><a accesskey="p" href="catalog-pg-namespace.html" title="53.32. pg_namespace">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="catalogs.html" title="Chapter 53. System Catalogs">Up</a></td><th width="60%" align="center">Chapter 53. System Catalogs</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 15.6 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="catalog-pg-operator.html" title="53.34. pg_operator">Next</a></td></tr></table><hr /></div><div class="sect1" id="CATALOG-PG-OPCLASS"><div class="titlepage"><div><div><h2 class="title" style="clear: both">53.33. <code class="structname">pg_opclass</code></h2></div></div></div><a id="id-1.10.4.35.2" class="indexterm"></a><p>
   The catalog <code class="structname">pg_opclass</code> defines
   index access method operator classes.  Each operator class defines
   semantics for index columns of a particular data type and a particular
   index access method.  An operator class essentially specifies that a
   particular operator family is applicable to a particular indexable column
   data type.  The set of operators from the family that are actually usable
   with the indexed column are whichever ones accept the column's data type
   as their left-hand input.
  </p><p>
   Operator classes are described at length in <a class="xref" href="xindex.html" title="38.16. Interfacing Extensions to Indexes">Section 38.16</a>.
  </p><div class="table" id="id-1.10.4.35.5"><p class="title"><strong>Table 53.33. <code class="structname">pg_opclass</code> Columns</strong></p><div class="table-contents"><table class="table" summary="pg_opclass Columns" border="1"><colgroup><col /></colgroup><thead><tr><th class="catalog_table_entry"><p class="column_definition">
       Column Type
      </p>
      <p>
       Description
      </p></th></tr></thead><tbody><tr><td class="catalog_table_entry"><p class="column_definition">
       <code class="structfield">oid</code> <code class="type">oid</code>
      </p>
      <p>
       Row identifier
      </p></td></tr><tr><td class="catalog_table_entry"><p class="column_definition">
       <code class="structfield">opcmethod</code> <code class="type">oid</code>
       (references <a class="link" href="catalog-pg-am.html" title="53.3. pg_am"><code class="structname">pg_am</code></a>.<code class="structfield">oid</code>)
      </p>
      <p>
       Index access method operator class is for
      </p></td></tr><tr><td class="catalog_table_entry"><p class="column_definition">
       <code class="structfield">opcname</code> <code class="type">name</code>
      </p>
      <p>
       Name of this operator class
      </p></td></tr><tr><td class="catalog_table_entry"><p class="column_definition">
       <code class="structfield">opcnamespace</code> <code class="type">oid</code>
       (references <a class="link" href="catalog-pg-namespace.html" title="53.32. pg_namespace"><code class="structname">pg_namespace</code></a>.<code class="structfield">oid</code>)
      </p>
      <p>
       Namespace of this operator class
      </p></td></tr><tr><td class="catalog_table_entry"><p class="column_definition">
       <code class="structfield">opcowner</code> <code class="type">oid</code>
       (references <a class="link" href="catalog-pg-authid.html" title="53.8. pg_authid"><code class="structname">pg_authid</code></a>.<code class="structfield">oid</code>)
      </p>
      <p>
       Owner of the operator class
      </p></td></tr><tr><td class="catalog_table_entry"><p class="column_definition">
       <code class="structfield">opcfamily</code> <code class="type">oid</code>
       (references <a class="link" href="catalog-pg-opfamily.html" title="53.35. pg_opfamily"><code class="structname">pg_opfamily</code></a>.<code class="structfield">oid</code>)
      </p>
      <p>
       Operator family containing the operator class
      </p></td></tr><tr><td class="catalog_table_entry"><p class="column_definition">
       <code class="structfield">opcintype</code> <code class="type">oid</code>
       (references <a class="link" href="catalog-pg-type.html" title="53.64. pg_type"><code class="structname">pg_type</code></a>.<code class="structfield">oid</code>)
      </p>
      <p>
       Data type that the operator class indexes
      </p></td></tr><tr><td class="catalog_table_entry"><p class="column_definition">
       <code class="structfield">opcdefault</code> <code class="type">bool</code>
      </p>
      <p>
       True if this operator class is the default for <code class="structfield">opcintype</code>
      </p></td></tr><tr><td class="catalog_table_entry"><p class="column_definition">
       <code class="structfield">opckeytype</code> <code class="type">oid</code>
       (references <a class="link" href="catalog-pg-type.html" title="53.64. pg_type"><code class="structname">pg_type</code></a>.<code class="structfield">oid</code>)
      </p>
      <p>
       Type of data stored in index, or zero if same as <code class="structfield">opcintype</code>
      </p></td></tr></tbody></table></div></div><br class="table-break" /><p>
   An operator class's <code class="structfield">opcmethod</code> must match the
   <code class="structfield">opfmethod</code> of its containing operator family.
   Also, there must be no more than one <code class="structname">pg_opclass</code>
   row having <code class="structfield">opcdefault</code> true for any given combination of
   <code class="structfield">opcmethod</code> and <code class="structfield">opcintype</code>.
  </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="catalog-pg-namespace.html" title="53.32. pg_namespace">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="catalogs.html" title="Chapter 53. System Catalogs">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="catalog-pg-operator.html" title="53.34. pg_operator">Next</a></td></tr><tr><td width="40%" align="left" valign="top">53.32. <code class="structname">pg_namespace</code> </td><td width="20%" align="center"><a accesskey="h" href="index.html" title="PostgreSQL 15.6 Documentation">Home</a></td><td width="40%" align="right" valign="top"> 53.34. <code class="structname">pg_operator</code></td></tr></table></div></body></html>