## 51.35. `pg_opfamily`

The catalog `pg_opfamily` defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all “compatible”, in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics.

Operator families are described at length in Section 37.15.

Table 51.35. `pg_opfamily` Columns

Name | Type | References | Description
--- | --- | --- | ---
`oid` | `oid` |  | Row identifier (hidden attribute; must be explicitly selected)
`opfmethod` | `oid` | ``pg_am`.oid` | Index access method operator family is for
`opfname` | `name` |  | Name of this operator family
`opfnamespace` | `oid` | ``pg_namespace`.oid` | Namespace of this operator family
`opfowner` | `oid` | ``pg_authid`.oid` | Owner of the operator family

The majority of the information defining an operator family is not in its `pg_opfamily` row, but in the associated rows in `pg_amop`, `pg_amproc`, and `pg_opclass`.