PostgreSQL 17 ← 16
SYSTEM CATALOG · System catalog
pg_operator
The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 36.14 for more information.
Checked column by column against a PostgreSQL 18.6 instance · Raw measurement record ↗
Columns PostgreSQL 18
pg_operator| COLUMN | TYPE | DESCRIPTION |
|---|---|---|
oid |
oidNOT NULL |
Row identifier |
oprname |
nameNOT NULL |
Name of the operator |
oprnamespace |
oidNOT NULL |
The OID of the namespace that contains this operatorReferences:pg_namespace.oid |
oprowner |
oidNOT NULL |
Owner of the operatorReferences:pg_authid.oid |
oprkind |
"char"NOT NULLDocumented as:char |
b = infix operator (“both”), or l = prefix operator (“left”) |
oprcanmerge |
booleanNOT NULLDocumented as:bool |
This operator supports merge joins |
oprcanhash |
booleanNOT NULLDocumented as:bool |
This operator supports hash joins |
oprleft |
oidNOT NULL |
Type of the left operand (zero for a prefix operator)References:pg_type.oid |
oprright |
oidNOT NULL |
Type of the right operandReferences:pg_type.oid |
oprresult |
oidNOT NULL |
Type of the result (zero for a not-yet-defined “shell” operator)References:pg_type.oid |
oprcom |
oidNOT NULL |
Commutator of this operator (zero if none)References:pg_operator.oid |
oprnegate |
oidNOT NULL |
Negator of this operator (zero if none)References:pg_operator.oid |
oprcode |
regprocNOT NULL |
Function that implements this operator (zero for a not-yet-defined “shell” operator)References:pg_proc.oid |
oprrest |
regprocNOT NULL |
Restriction selectivity estimation function for this operator (zero if none)References:pg_proc.oid |
oprjoin |
regprocNOT NULL |
Join selectivity estimation function for this operator (zero if none)References:pg_proc.oid |
Columns marked "implicit" are not included in SELECT *; some early statistics views are completed from same-version source, and the extra provenance is shown in the column description.
Common system columns 6
System attributes PostgreSQL provides, normally not expanded by SELECT *. Kept separately so they are not mixed in with ordinary columns.
| Columns | Type | attnum |
|---|---|---|
tableoid | oid | -6 |
cmax | cid | -5 |
xmax | xid | -4 |
cmin | cid | -3 |
xmin | xid | -2 |
ctid | tid | -1 |
Column evolution matrix
Hover a cell for the column type| COLUMN | 9.0 | 9.1 | 9.2 | 9.3 | 9.4 | 9.5 | 9.6 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
oid |
|||||||||||||||||
oprname |
|||||||||||||||||
oprnamespace |
|||||||||||||||||
oprowner |
|||||||||||||||||
oprkind |
|||||||||||||||||
oprcanmerge |
|||||||||||||||||
oprcanhash |
|||||||||||||||||
oprleft |
|||||||||||||||||
oprright |
|||||||||||||||||
oprresult |
|||||||||||||||||
oprcom |
|||||||||||||||||
oprnegate |
|||||||||||||||||
oprcode |
|||||||||||||||||
oprrest |
|||||||||||||||||
oprjoin |
9.0 is the coverage baseline; a column already present in the baseline is not marked as added. The matrix aligns columns by name, so a rename appears as the old column removed and a new column added.
Evolution timeline
Changes between adjacent majorsPostgreSQL 14 ← 13
PostgreSQL 12 ← 11
PostgreSQL 11 ← 10
PostgreSQL 10 ← 9.6
PostgreSQL 9.6 ← 9.5
PostgreSQL 9.3 ← 9.2
Compare any two versions
Pick two versions to see added, removed, and retyped columns. The interactive comparison needs JavaScript; the evolution timeline reads fine without it.