↑↓ select↵ open⌫ change scopeOpen full search

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

Wiki / SQLSTATE

HV00P — fdw_no_schemas

HV00P is raised by the core IMPORT FOREIGN SCHEMA command when the selected FDW has no ImportForeignSchema callback. It means the wrapper does not support that import mechanism, not that a remote schema is empty.

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_no_schemas
lang
en
sqlstate
HV00P

Definition PG 18

HV00P — fdw_no_schemas

At a glance {#at-a-glance}

HV00P is raised by the core IMPORT FOREIGN SCHEMA command when the selected FDW has no ImportForeignSchema callback. It means the wrapper does not support that import mechanism, not that a remote schema is empty.

Meaning and message {#meaning}

foreigncmds.c:1527-1530 reports ERROR: foreign-data wrapper "%s" does not support IMPORT FOREIGN SCHEMA when fdw_routine->ImportForeignSchema is NULL. The wrapper name is dynamic; no remote schema query has necessarily run.

Diagnosis {#diagnosis}

Confirm the FDW named by the SERVER clause and inspect its handler's ImportForeignSchema callback. Distinguish this unsupported capability from HV00Q, where postgres_fdw supports import but cannot find the requested remote schema.

Response {#response}

Use explicit CREATE FOREIGN TABLE definitions, choose a wrapper that implements schema import, or add the supported wrapper callback. Reissuing the same IMPORT FOREIGN SCHEMA command against the same handler will produce the same capability error.

Messages and diagnostics {#messages}

The confirmed severity is ERROR, with no detail or hint in this call group. Preserve fdwname, server identity, and the handler extension version.

Versions {#versions}

The HV00P condition definition is present in the locked 9.1.0 snapshot and later, but that does not date IMPORT FOREIGN SCHEMA to 9.1. The command and its ImportForeignSchema callback are present in the fixed PostgreSQL 9.5.0 source snapshot; the current 18.6 branch is the source-backed message path described above. No pre-9 definition observation is available.

Related {#related}

HV00Q is a remote-schema-not-found result from postgres_fdw; HV00D is invalid option name; HV000 is generic FDW error.

Sources {#sources}

  • errcodes.txt — definition, SHA-256 6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba.
  • foreigncmds.c — callback check and message.
  • fdwapi.h — ImportForeignSchema callback definition; SHA-256 572ba892e6435ca92d3b3bc84dde5bbd3160cc3a082693daab8daa835c4d2cd7.
  • foreigncmds.c in the REL9_5_0 snapshot — command and callback feature boundary; SHA-256 d2ab3a8883ed1e27c38a0a7ff83f0fc9d493c488d7e30f56eef7d1ae449f9a16.
  • Structured evidence — source path and bounded runtime scope.

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": "HV00P is fdw_no_schemas in SQL/MED Class HV."
}
claims · handler-capability
{
  "claim_id": "handler-capability",
  "limits": "",
  "method": "Read the callback-null branch and handler definition.",
  "position": 1,
  "runtime": [],
  "sources": [
    "src.foreigncmds.18.6",
    "src.fdwapi.18.6"
  ],
  "statement": "The core IMPORT FOREIGN SCHEMA command emits HV00P when the selected FDW handler has no ImportForeignSchema callback."
}
claims · import-feature-boundary
{
  "claim_id": "import-feature-boundary",
  "limits": "This establishes presence in the REL9_5_0 source snapshot; it does not claim the exact development commit or behavior of every wrapper before or after that snapshot.",
  "method": "Read the fixed REL9_5_0 foreigncmds.c command path and callback invocation.",
  "position": 2,
  "runtime": [],
  "sources": [
    "src.foreigncmds.9.5.0"
  ],
  "statement": "The IMPORT FOREIGN SCHEMA command and its ImportForeignSchema handler callback are present in the fixed PostgreSQL 9.5.0 source snapshot; the 9.1.0 directory observation for HV00P is a condition-definition boundary, not evidence that this command existed in 9.1."
}
messages · no-import-schema-callback
{
  "limits": "",
  "message_id": "no-import-schema-callback",
  "path": "src/backend/commands/foreigncmds.c:1527-1530",
  "position": 0,
  "raw": {
    "id": "no-import-schema-callback",
    "message": "foreign-data wrapper \"%s\" does not support IMPORT FOREIGN SCHEMA",
    "path": "src/backend/commands/foreigncmds.c:1527-1530",
    "severity": "ERROR",
    "source_ids": [
      "src.foreigncmds.18.6"
    ],
    "sqlstate": "HV00P"
  },
  "severity": "ERROR",
  "sources": [
    "src.foreigncmds.18.6"
  ],
  "templates": [
    {
      "kind": "primary",
      "literal": "foreign-data wrapper \" \" does not support IMPORT FOREIGN SCHEMA",
      "position": 0,
      "role": "observed",
      "template": "foreign-data wrapper \"%s\" does not support IMPORT FOREIGN SCHEMA"
    }
  ]
}
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.foreigncmds.18.6
{
  "commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
  "docs_url": "",
  "kind": "upstream_source",
  "location": "",
  "path": "src/backend/commands/foreigncmds.c",
  "position": 1,
  "sha256": "292d28c5589bbef8974af9355495431e9295a7c295a9cbdc5d7da1c5362471cd",
  "source_id": "src.foreigncmds.18.6",
  "tag": "REL_18_6",
  "url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/commands/foreigncmds.c"
}
sources · src.fdwapi.18.6
{
  "commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
  "docs_url": "",
  "kind": "upstream_source",
  "location": "",
  "path": "src/include/foreign/fdwapi.h",
  "position": 2,
  "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#L259-L260"
}
sources · src.foreigncmds.9.5.0
{
  "commit": "cdd4ed5449bf317cc71b45a8deee0173822e7592",
  "docs_url": "",
  "kind": "upstream_source",
  "location": "",
  "path": "src/backend/commands/foreigncmds.c",
  "position": 3,
  "sha256": "d2ab3a8883ed1e27c38a0a7ff83f0fc9d493c488d7e30f56eef7d1ae449f9a16",
  "source_id": "src.foreigncmds.9.5.0",
  "tag": "REL9_5_0",
  "url": "https://github.com/postgres/postgres/blob/cdd4ed5449bf317cc71b45a8deee0173822e7592/src/backend/commands/foreigncmds.c#L1509-L1542"
}
sources · src.calls.REL_18_6
{
  "commit": "",
  "docs_url": "",
  "kind": "local_artifact",
  "location": "",
  "path": "raw/calls/REL_18_6.jsonl",
  "position": 4,
  "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:6208a4c227b9ce814a74b62ac4bcd488002c86e498c4ea979c7c63b999f9aa16

Text language: en · english-manuals:6208a4c227b9ce814a74b62ac4bcd488002c86e498c4ea979c7c63b999f9aa16