# 2200G — most_specific_type_mismatch

> Source-backed reference for PostgreSQL SQLSTATE 2200G.
---

# 2200G

## At a glance {#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.

<!-- BEGIN SQLSTATE FACTS: generated by scripts/generate.py; do not edit -->

| 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 | `—` |

<!-- source facts: data/errcodes/2200G.json -->
<!-- END SQLSTATE FACTS -->

## Meaning {#meaning}
This condition concerns type selection when the most specific common type cannot be chosen for the operation.

## Diagnosis {#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 {#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 {#versions}
The locked catalogue records this condition from 7.4; fixed source coverage is PostgreSQL 18.6.

## Related {#related}
[`22003`](../22003/), [`42804`](../42804/)

## Sources {#sources}
The fixed definition is confirmed; this bounded scan did not resolve a native emitting function to cite. The structured [evidence record](../data/evidence/2200g.json) 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.
