# HV024 — fdw_invalid_attribute_value

> PostgreSQL SQLSTATE HV024 names an invalid FDW attribute value; the relevant attribute and validator are implementation-specific.
---

# HV024 — fdw_invalid_attribute_value

## At a glance {#at-a-glance}

`HV024` identifies an attribute value that an FDW boundary rejects. No resolved `HV024` report group was found in the locked PostgreSQL 18.6 core/contrib call scan, so no particular attribute or message is confirmed.

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

| Field | Value |
| --- | --- |
| SQLSTATE | `HV024` |
| Condition | `fdw_invalid_attribute_value` |
| Status | `active` |
| Known present by | `9.1.0` |
| Locked snapshots | `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_FDW_INVALID_ATTRIBUTE_VALUE` |
| Aliases | `—` |

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

## Meaning {#meaning}

An attribute may be a wrapper option, descriptor property, column or connection attribute, depending on the implementation. The SQLSTATE definition does not provide the accepted value set or identify whether validation is local or remote.

## Messages and diagnostics {#messages}

No resolved 18.6 core/contrib message variant was found. Preserve the exact attribute name and value as rendered, operation phase, wrapper/driver version, foreign server/table, and any detail or hint.

## Diagnosis {#diagnosis}

Locate the wrapper or driver validator named by the diagnostic and compare the value with that version's documented or source-defined domain. Distinguish an invalid value from an unknown attribute name (`HV00D` may be relevant only when the actual SQLSTATE is HV00D).

## Response {#response}

Use a value accepted by the identified validator, or change the object/remote definition that supplies it. Do not broaden the value or retry unchanged until the validator's supported domain is known.

## Versions {#versions}

`HV024` 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}

[`HV00D`](../hv00d/) concerns an invalid option name; [`HV021`](../hv021/) concerns inconsistent descriptor information; [`HV090`](../hv090/) concerns string or buffer length.

## Sources {#sources}

- [`errcodes.txt`](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt#L464) — definition, SHA-256 `6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba`.
- [`fdwapi.h`](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/include/foreign/fdwapi.h#L24-L55) — generic FDW callback boundary.
- [Structured evidence](../data/evidence/hv024.json) — fixed 18.6 sources and bounded scan.
