## 49.34. `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 35.14, “Interfacing Extensions To Indexes”.

Table 49.34. `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`.