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.