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
|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|
|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.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.