↑↓ select↵ open⌫ change scopeOpen full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

Wiki / SQLSTATE

22022 — indicator_overflow

The catalogue condition names an indicator value that cannot fit its interface representation. The bounded PostgreSQL 18.6 source review confirms the definition but does not bind a native emitting report group.

English manual coverage begins with PostgreSQL 8.1. Source history and runtime observations have their own recorded version boundaries.

Reading PG 18·Select a recorded version

aliases
Unknown
class name
Data Exception
condition name
indicator_overflow
lang
en
sqlstate
22022

Definition PG 18

22022

At a glance {#at-a-glance}

The catalogue condition names an indicator value that cannot fit its interface representation. The bounded PostgreSQL 18.6 source review confirms the definition but does not bind a native emitting report group.

Meaning {#meaning}

22022 is an interface-level indicator-overflow condition, but the fixed source scope here does not identify which client or API owns an emitter. Its condition name must not be turned into an invented ECPG, ordinary SQL cast, or server-column path.

Diagnosis {#diagnosis}

Use the complete diagnostic and owning interface to determine the indicator type, storage width, and value range. Without a confirmed emitter, this page cannot assign a primary message, severity behavior, transaction effect, or universal server-side repair.

Response {#response}

Inspect the actual interface contract and choose an indicator representation that can hold the returned value, following that interface’s documented recovery. Treat this as bounded unknown source coverage rather than applying a generic numeric-overflow fix.

Versions {#versions}

The locked catalogue records this condition from 7.4; only the PostgreSQL 18.6 definition and bounded source scope are confirmed. No natural runtime observation is claimed for this page.

Related {#related}

22003, 22010

Sources {#sources}

The fixed catalogue definition is recorded in the structured evidence record. Its bounded-scan claim deliberately leaves the native emitter, primary text, severity, and transaction behavior unknown; no natural runtime was run.

Compare versions

SQLSTATE evidence and recorded runtime versions

claims · identity
{
  "claim_id": "identity",
  "limits": "",
  "method": "Read the fixed errcodes row and macro.",
  "position": 0,
  "runtime": [],
  "sources": [
    "src.errcodes.18.6"
  ],
  "statement": "22022 is indicator_overflow in SQLSTATE Class 22."
}
claims · bounded-scan
{
  "claim_id": "bounded-scan",
  "limits": "A bounded scan does not prove that no extension, client, or historical path exists.",
  "method": "Retain definition evidence without inventing an ECPG, SQL cast, or server-column emitter.",
  "position": 1,
  "runtime": [],
  "sources": [
    "src.errcodes.18.6"
  ],
  "statement": "No fixed PostgreSQL 18.6 emitting report group was resolved for 22022 in the bounded source review."
}
claims · history
{
  "claim_id": "history",
  "limits": "",
  "method": "Use catalogue presence and history boundaries.",
  "position": 2,
  "runtime": [],
  "sources": [
    "src.errcodes.18.6"
  ],
  "statement": "The locked catalogue records 22022 from 7.4 without proving an exact implementation introduction date."
}
sources · src.errcodes.18.6
{
  "commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
  "docs_url": "",
  "kind": "upstream_source",
  "location": "",
  "path": "src/backend/utils/errcodes.txt",
  "position": 0,
  "sha256": "6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba",
  "source_id": "src.errcodes.18.6",
  "tag": "REL_18_6",
  "url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt#L171"
}

Source references

Full definition and evidence JSON

Definition sources

center · PostgreSQL 18 · english-manuals:fed44a55cfb2240be04a13379ee83a230a7ae946008d982397e2bdd435e5be67

Text language: en · english-manuals:fed44a55cfb2240be04a13379ee83a230a7ae946008d982397e2bdd435e5be67