## 49.33. `pg_operator`

The catalog `pg_operator` stores information about operators. See CREATE OPERATOR and Section 35.12 for more information.

Table 49.33. `pg_operator` Columns

Name | Type | References | Description
--- | --- | --- | ---
`oid` | `oid` |  | Row identifier (hidden attribute; must be explicitly selected)
`oprname` | `name` |  | Name of the operator
`oprnamespace` | `oid` | ``pg_namespace`.oid` | The OID of the namespace that contains this operator
`oprowner` | `oid` | ``pg_authid`.oid` | Owner of the operator
`oprkind` | `char` |  | `b` = infix (“both”), `l` = prefix (“left”), `r` = postfix (“right”)
`oprcanmerge` | `bool` |  | This operator supports merge joins
`oprcanhash` | `bool` |  | This operator supports hash joins
`oprleft` | `oid` | ``pg_type`.oid` | Type of the left operand
`oprright` | `oid` | ``pg_type`.oid` | Type of the right operand
`oprresult` | `oid` | ``pg_type`.oid` | Type of the result
`oprcom` | `oid` | ``pg_operator`.oid` | Commutator of this operator, if any
`oprnegate` | `oid` | ``pg_operator`.oid` | Negator of this operator, if any
`oprcode` | `regproc` | ``pg_proc`.oid` | Function that implements this operator
`oprrest` | `regproc` | ``pg_proc`.oid` | Restriction selectivity estimation function for this operator
`oprjoin` | `regproc` | ``pg_proc`.oid` | Join selectivity estimation function for this operator

Unused column contain zeroes. For example, `oprleft` is zero for a prefix operator.