HV00J — fdw_option_name_not_found
HV00J is used by dblink's connection-option validation when an option name is not in the accepted dblink/libpq option set. dblink is a separate contrib client API, not an FDW callback implementation. The 18.6 core/contrib scan found no other resolved HV00J 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
- Foreign Data Wrapper Error (SQL/MED)
- condition name
- fdw_option_name_not_found
- lang
- en
- sqlstate
- HV00J
Definition PG 18
HV00J — fdw_option_name_not_found
At a glance {#at-a-glance}
HV00J is used by dblink's connection-option validation when an option name is not in the accepted dblink/libpq option set. dblink is a separate contrib client API, not an FDW callback implementation. The 18.6 core/contrib scan found no other resolved HV00J group.
Meaning and messages {#meaning}
At dblink.c:2005-2011, dblink reports ERROR with invalid option "%s". It adds Perhaps you meant the option "%s". only when a close match is available; if valid options exist but no close match is found, the source emits no hint, and There are no valid options in this context. is used only when no valid option exists. A fixed REL9_6_24 dblink snapshot shows the older dynamic Valid options in this context are: %s hint; this is a bounded comparison, not an exact transition claim.
Diagnosis {#diagnosis}
Identify whether the option belongs to a dblink connection string/option list and check the installed libpq option names. Keep the exact option name, dblink/libpq versions, and whether the failure occurred while parsing a connection definition. Do not apply postgres_fdw option tables to dblink.
Response {#response}
Replace the name with the accepted dblink/libpq option or remove it, preserving the close-match hint as a guide. Validate the connection definition again; an invalid option name is deterministic and does not call for a database transaction retry.
Diagnosis boundary {#messages}
The confirmed implementation is dblink's option parser at contrib/dblink/dblink.c:2005-2011; no natural runtime was run in this batch, and the source does not establish remote connection success or failure.
Versions {#versions}
The code is present from 9.1.0 through 18.6 and 19 Beta 3. The fixed 18.6 and REL9_6_24 dblink snapshots show different hint wording; they bound the observed versions without dating the transition. Match the installed version when interpreting a log.
Related {#related}
HV00D covers file_fdw/postgres_fdw option names; HV00N concerns establishing a connection; HV001 covers an allocation failure while obtaining libpq defaults.
Sources {#sources}
errcodes.txt— definition, SHA-2566e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba.- dblink.c — 18.6 dblink option parser.
- dblink.c in REL9_6_24 — bounded historical hint comparison; SHA-256 ff331aac2153e21aa88cc6c4e656ab00b0593744062270849f27281434db3b55.
- Structured evidence — exact message/detail/hint grouping.
Compare versions
SQLSTATE evidence and recorded runtime versions
claims · identity
{
"claim_id": "identity",
"limits": "",
"method": "Read the fixed definition row and macro.",
"position": 0,
"runtime": [],
"sources": [
"src.errcodes.18.6"
],
"statement": "HV00J is fdw_option_name_not_found in SQL/MED Class HV."
}claims · dblink-option
{
"claim_id": "dblink-option",
"limits": "",
"method": "Read the fixed option-validation branch.",
"position": 1,
"runtime": [],
"sources": [
"src.dblink.18.6"
],
"statement": "dblink uses HV00J in its own connection-option parser; dblink is a separate contrib client API rather than an FDW callback implementation."
}claims · historical-hint-boundary
{
"claim_id": "historical-hint-boundary",
"limits": "This fixed snapshot establishes dblink's wording there; it does not date the transition or generalize to other clients.",
"method": "Read the fixed REL9_6_24 dblink.c error branch at lines 2017-2021.",
"position": 2,
"runtime": [],
"sources": [
"src.dblink.9.6.24"
],
"statement": "The fixed REL9_6_24 dblink option parser uses the older dynamic hint 'Valid options in this context are: %s' with the same invalid-option ERROR; this is a bounded snapshot comparison, not an exact transition release."
}messages · dblink-invalid-option
{
"limits": "When valid options exist but no close match is found, the source emits no hint; the no-valid-options hint is only used when no valid option exists.",
"message_id": "dblink-invalid-option",
"path": "contrib/dblink/dblink.c:2005-2011",
"position": 0,
"raw": {
"hint_variants": [
"Perhaps you meant the option \"%s\".",
"There are no valid options in this context."
],
"id": "dblink-invalid-option",
"limits": "When valid options exist but no close match is found, the source emits no hint; the no-valid-options hint is only used when no valid option exists.",
"message": "invalid option \"%s\"",
"path": "contrib/dblink/dblink.c:2005-2011",
"severity": "ERROR",
"source_ids": [
"src.dblink.18.6"
],
"sqlstate": "HV00J"
},
"severity": "ERROR",
"sources": [
"src.dblink.18.6"
],
"templates": [
{
"kind": "hint",
"literal": "Perhaps you meant the option \" \".",
"position": 0,
"role": "",
"template": "Perhaps you meant the option \"%s\"."
},
{
"kind": "hint",
"literal": "There are no valid options in this context.",
"position": 1,
"role": "",
"template": "There are no valid options in this context."
},
{
"kind": "primary",
"literal": "invalid option \" \"",
"position": 2,
"role": "observed",
"template": "invalid option \"%s\""
}
]
}messages · dblink-invalid-option-historical-hint
{
"limits": "",
"message_id": "dblink-invalid-option-historical-hint",
"path": "contrib/dblink/dblink.c:2017-2021",
"position": 1,
"raw": {
"hint_variants": [
"Valid options in this context are: %s"
],
"id": "dblink-invalid-option-historical-hint",
"message": "invalid option \"%s\"",
"path": "contrib/dblink/dblink.c:2017-2021",
"severity": "ERROR",
"source_ids": [
"src.dblink.9.6.24"
],
"sqlstate": "HV00J"
},
"severity": "ERROR",
"sources": [
"src.dblink.9.6.24"
],
"templates": [
{
"kind": "hint",
"literal": "Valid options in this context are:",
"position": 0,
"role": "",
"template": "Valid options in this context are: %s"
},
{
"kind": "primary",
"literal": "invalid option \" \"",
"position": 1,
"role": "observed",
"template": "invalid option \"%s\""
}
]
}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.dblink.18.6
{
"commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
"docs_url": "",
"kind": "upstream_source",
"location": "",
"path": "contrib/dblink/dblink.c",
"position": 1,
"sha256": "e4cfaec3a0a1e5d23fded584725e0f6cf7a17321ad99e5fe046e8b7f97416f15",
"source_id": "src.dblink.18.6",
"tag": "REL_18_6",
"url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/contrib/dblink/dblink.c"
}sources · src.dblink.9.6.24
{
"commit": "a4116b8d5a4f68803452d8f1aa3f74f302049a90",
"docs_url": "",
"kind": "upstream_source",
"location": "",
"path": "contrib/dblink/dblink.c",
"position": 2,
"sha256": "ff331aac2153e21aa88cc6c4e656ab00b0593744062270849f27281434db3b55",
"source_id": "src.dblink.9.6.24",
"tag": "REL9_6_24",
"url": "https://github.com/postgres/postgres/blob/a4116b8d5a4f68803452d8f1aa3f74f302049a90/contrib/dblink/dblink.c#L2017-L2021"
}sources · src.calls.REL_18_6
{
"commit": "",
"docs_url": "",
"kind": "local_artifact",
"location": "",
"path": "raw/calls/REL_18_6.jsonl",
"position": 3,
"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:98de1e91cc55831ef3297d0a4d00bcf913523f59565ff1fe20feb06b5c6e6c3b
Text language: en · english-manuals:98de1e91cc55831ef3297d0a4d00bcf913523f59565ff1fe20feb06b5c6e6c3b