↑↓ select↵ open⌫ change scopeOpen full search

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

Wiki / SQLSTATE

2203D — too_many_json_array_elements

The locked condition names an excessive number of JSON array elements. No fixed PostgreSQL 18.6 emitting path was resolved in the bounded scan.

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
too_many_json_array_elements
lang
en
sqlstate
2203D

Definition PG 18

2203D

At a glance {#at-a-glance}

The locked condition names an excessive number of JSON array elements. No fixed PostgreSQL 18.6 emitting path was resolved in the bounded scan.

Meaning {#meaning}

The definition identifies too_many_json_array_elements, but the bounded PostgreSQL 18.6 source review did not resolve a native 2203D emitter. This page records the condition identity and cardinality boundary without assigning a JSON_TABLE/SQL/JSON wrapper, primary text, DETAIL, or HINT.

Diagnosis {#diagnosis}

Preserve the complete diagnostic and identify the actual emitting component and its element-count rule. Confirm from that operation whether it permits one item, multiple elements, or another documented cardinality; the condition name alone does not establish that a wrapper or aggregate exists or would repair it.

Response {#response}

After identifying the actual emitter, follow that component's documented element-count rule and correct the input or cardinality accordingly. Do not presume that a wrapper or aggregate is available or that either would resolve this condition. If an ERROR occurred in an explicit transaction, roll back or roll back to the existing savepoint before retrying; autocommit can retry the corrected action.

Versions {#versions}

The locked catalogue records this condition from 12.0. Only the PostgreSQL 18.6 definition row is fixed here; no native emitting path or natural runtime observation is claimed.

Related {#related}

22034, 22035, 2203E

Sources {#sources}

The fixed definition row is errcodes.txt#L228. The bounded source review did not resolve a native 2203D emitting path; the structured evidence record keeps that unknown scope explicit, and no natural runtime was run.

Compare versions

SQLSTATE evidence and recorded runtime versions

claims · identity
{
  "claim_id": "identity",
  "limits": "",
  "method": "Read fixed definition.",
  "position": 0,
  "runtime": [],
  "sources": [
    "src.errcodes.18.6"
  ],
  "statement": "2203D is too_many_json_array_elements in SQLSTATE Class 22."
}
claims · bounded-source-scope
{
  "claim_id": "bounded-source-scope",
  "limits": "Bounded scan does not prove no extension or historical path exists.",
  "method": "Retain definition without inventing emitter.",
  "position": 1,
  "runtime": [],
  "sources": [
    "src.errcodes.18.6"
  ],
  "statement": "No fixed PostgreSQL 18.6 emitting path was resolved for 2203D in the bounded scan."
}
claims · history
{
  "claim_id": "history",
  "limits": "",
  "method": "Use catalogue boundary.",
  "position": 2,
  "runtime": [],
  "sources": [
    "src.errcodes.18.6"
  ],
  "statement": "The locked catalogue records 2203D from 12.0 without proving exact implementation introduction."
}
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#L228"
}

Source references

Full definition and evidence JSON

Definition sources

center · PostgreSQL 18 · english-manuals:2bba03df9a8a6605ba9cde7b666738749bf998a1e97c97caf5baf6da9bdfea9b

Text language: en · english-manuals:2bba03df9a8a6605ba9cde7b666738749bf998a1e97c97caf5baf6da9bdfea9b