The catalog pg_opclass
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. Note that there can be multiple operator classes
for a given data type/access method combination, thus supporting multiple
behaviors.
Operator classes are described at length in Section 33.14, “Interfacing Extensions To Indexes”.
Table 43.24. pg_opclass
Columns
Name | Type | References | Description |
---|---|---|---|
opcamid |
oid |
|
Index access method operator class is for |
opcname |
name |
Name of this operator class | |
opcnamespace |
oid |
|
Namespace of this operator class |
opcowner |
oid |
|
Owner of the operator class |
opcintype |
oid |
|
Data type that the operator class indexes |
opcdefault |
bool |
True if this operator class is the default for opcintype
|
|
opckeytype |
oid |
|
Type of data stored in index, or zero if same as opcintype
|
The majority of the information defining an operator class is actually
not in its pg_opclass
row, but in the associated
rows in pg_amop
and
pg_amproc
. Those rows are considered to be
part of the operator class definition — this is not unlike the way
that a relation is defined by a single pg_class
row plus associated rows in pg_attribute
and
other tables.