pg_opclass

PostgreSQL 7.3.4 Documentation
Prev | Chapter 3. System Catalogs | Next

# 3.22. pg_opclass

`pg_opclass` defines index access method operator classes. Each operator class defines semantics for index columns of a particular datatype and a particular index access method. Note that there can be multiple operator classes for a given datatype/access method combination, thus supporting multiple behaviors.

Operator classes are described at length in the Programmer's Guide.

Table 3-22. pg_opclass Columns

Name | Type | References | Description
--- | --- | --- | ---
opcamid | `oid` | pg_am.oid | index access method opclass is for
opcname | `name` |  | name of this opclass
opcnamespace | `oid` | pg_namespace.oid | namespace of this opclass
opcowner | `int4` | pg_shadow.usesysid | opclass owner
opcintype | `oid` | pg_type.oid | type of input data for opclass
opcdefault | `bool` |  | true if opclass is default for opcintype
opckeytype | `oid` | pg_type.oid | type of index data, 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.

Prev | Home | Next
pg_namespace | Up | pg_operator