2200G — most_specific_type_mismatch
2200G
At a glance
This condition names a most-specific-type mismatch during type resolution. No fixed PostgreSQL 18.6 emitting path was resolved in the bounded call scan, so the page stays conditional and does not turn a generic cast or operator error into 2200G.
| Field | Value |
|---|---|
| SQLSTATE | 2200G |
| Condition | most_specific_type_mismatch |
| Status | active |
| Known present by | 7.4 |
| Locked snapshots | 9.0.23, 9.1.24, 9.2.24, 9.3.25, 9.4.26, 9.5.25, 9.6.24, 10.23, 11.22, 12.22, 13.23, 14.24, 15.19, 16.15, 17.11, 18.6, 19beta3 |
| Macros | ERRCODE_MOST_SPECIFIC_TYPE_MISMATCH |
| Aliases | — |
Meaning
This condition concerns type selection when the most specific common type cannot be chosen for the operation.
Diagnosis
Use the full message and the expression or routine signature involved. Inspect unknown literals, polymorphic arguments, overloaded operators, and explicit casts at the point named by the diagnostic. If the server reports 42804 or 42846 instead, follow that actual code; a type mismatch by itself is not evidence for 2200G.
Response
Correct the named expression’s type resolution by making the intended type explicit or fixing the routine signature, after confirming the server’s actual SQLSTATE.
Versions
The locked catalogue records this condition from 7.4; fixed source coverage is PostgreSQL 18.6.
Related
Sources
The fixed definition is confirmed; this bounded scan did not resolve a native emitting function to cite. The structured evidence record retains the definition, message, and scope boundaries. The catalogue definition is confirmed; an emitting function and message template were not resolved in this scan. A wrapper or extension may own a use, so preserve its actual context when investigating.