↑↓ select↵ open⌫ change scopeOpen full search

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

Wiki / SQLSTATE

HV021 — fdw_inconsistent_descriptor_information

HV021 identifies inconsistent information in an FDW descriptor. The 18.6 core/contrib call scan has no resolved HV021 report group, so it does not identify a core descriptor check or message.

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
Foreign Data Wrapper Error (SQL/MED)
condition name
fdw_inconsistent_descriptor_information
lang
en
sqlstate
HV021

Definition PG 18

HV021 — fdw_inconsistent_descriptor_information

At a glance {#at-a-glance}

HV021 identifies inconsistent information in an FDW descriptor. The 18.6 core/contrib call scan has no resolved HV021 report group, so it does not identify a core descriptor check or message.

Meaning {#meaning}

The descriptor may describe columns, types, names, lengths, or another wrapper-owned result contract. fdwapi.h exposes callback and slot boundaries, but it does not say which descriptor mismatch maps to this SQLSTATE.

Messages and diagnostics {#messages}

No resolved 18.6 core/contrib message variant was found. Preserve the full diagnostic, descriptor kind, expected and actual metadata when shown, callback phase, wrapper/driver version, and relation identity.

Diagnosis {#diagnosis}

Compare the descriptor supplied by the wrapper with the descriptor expected by the callback or consumer. Check schema changes, type and column order, nullability or length metadata only when the wrapper reports them; do not infer a mismatch from a generic conversion failure.

Response {#response}

Correct the wrapper's descriptor construction or the remote/schema contract it actually identifies, then recreate the affected plan or object. Repeating the same operation without changing the mismatched metadata will not repair the descriptor.

Versions {#versions}

HV021 is present in the locked definition snapshots from 9.1.24 through 18.6 and 19 Beta 3, with known_present_by 9.1.0. The available pre-9 definition material does not establish an exact introduction release.

Related {#related}

HV008 concerns an FDW column sequence; HV091 concerns a descriptor field identifier; HV024 concerns an attribute value.

Sources {#sources}

  • errcodes.txt — definition, SHA-256 6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba.
  • fdwapi.h — generic FDW callback boundary.
  • Structured evidence — fixed 18.6 sources and bounded scan.

Compare versions

SQLSTATE evidence and recorded runtime versions

claims · identity
{
  "claim_id": "identity",
  "limits": "",
  "method": "Read the fixed errcodes definition row and macro.",
  "position": 0,
  "runtime": [],
  "sources": [
    "src.errcodes.18.6"
  ],
  "statement": "HV021 is fdw_inconsistent_descriptor_information in SQL/MED Class HV."
}
claims · api-boundary
{
  "claim_id": "api-boundary",
  "limits": "Generic API context is background only and does not prove an emitting path for this SQLSTATE.",
  "method": "Read the fixed FDW callback signatures and FdwRoutine structure.",
  "position": 1,
  "runtime": [],
  "sources": [
    "src.fdwapi.18.6"
  ],
  "statement": "The condition name identifies inconsistent descriptor information at an FDW boundary. The descriptor fields and producer/consumer contract remain implementation-specific."
}
claims · scan-boundary
{
  "claim_id": "scan-boundary",
  "limits": "This scan does not cover external wrappers, drivers, remote systems, or user callbacks; absence from the scan is not an absolute absence claim.",
  "method": "Compare resolved report groups with the fixed macro mapping.",
  "position": 2,
  "runtime": [],
  "sources": [
    "src.calls.REL_18_6",
    "src.errcodes.18.6"
  ],
  "statement": "No resolved HV021 report group was found in the locked PostgreSQL 18.6 core/contrib call scan."
}
claims · history-boundary
{
  "claim_id": "history-boundary",
  "limits": "Definition presence does not prove runtime use.",
  "method": "Compare the canonical release-definition facts with the available pre-9 source boundary.",
  "position": 3,
  "runtime": [],
  "sources": [
    "src.errcodes.18.6"
  ],
  "statement": "The locked release definition snapshots establish presence from the known 9.1.0 boundary; the available pre-9 material does not establish an exact introduction release."
}
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"
}
sources · src.fdwapi.18.6
{
  "commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
  "docs_url": "",
  "kind": "upstream_source",
  "location": "",
  "path": "src/include/foreign/fdwapi.h",
  "position": 1,
  "sha256": "572ba892e6435ca92d3b3bc84dde5bbd3160cc3a082693daab8daa835c4d2cd7",
  "source_id": "src.fdwapi.18.6",
  "tag": "REL_18_6",
  "url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/include/foreign/fdwapi.h"
}
sources · src.calls.REL_18_6
{
  "commit": "",
  "docs_url": "",
  "kind": "local_artifact",
  "location": "",
  "path": "raw/calls/REL_18_6.jsonl",
  "position": 2,
  "sha256": "9ee8a0e81d8f0825c5c1ae45583439859a26e602bdd4ce2f2a62aa278867ccbf",
  "source_id": "src.calls.REL_18_6",
  "tag": "",
  "url": ""
}

Source references

Full definition and evidence JSON

Definition sources

center · PostgreSQL 18 · english-manuals:71d6fe3361cc9940f26a1f6325d6c801096169d7cb9a524588b6fed347cb07f0

Text language: en · english-manuals:71d6fe3361cc9940f26a1f6325d6c801096169d7cb9a524588b6fed347cb07f0