↑↓ select↵ open⌫ change scopeOpen full search

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

Wiki / SQLSTATE

2F004 — reading_sql_data_not_permitted

The catalogue defines this standard member, but the resolved PostgreSQL 18.6 core/contrib scan found no native report group. Do not infer a PostgreSQL function volatility or language rule from the condition name.

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
SQL Routine Exception
condition name
reading_sql_data_not_permitted
lang
en
sqlstate
2F004

Definition PG 18

2F004

At a glance {#at-a-glance}

The catalogue defines this standard member, but the resolved PostgreSQL 18.6 core/contrib scan found no native report group. Do not infer a PostgreSQL function volatility or language rule from the condition name.

Meaning {#meaning}

2F004 describes a routine data-access restriction only when the producing implementation enforces it. A client, extension, ECPG layer, or remote routine engine may use the member independently.

Messages {#messages}

No fixed PostgreSQL message variant was adopted because the bounded scan did not resolve a native report group.

Diagnosis {#diagnosis}

Record the routine owner, invocation phase, actual SQLSTATE, and declaration that limited reads. If the backend returned a different code, follow that code and its source path; the fixed catalogue row is not a fallback diagnosis.

Response {#response}

Apply only the producing implementation’s documented declaration or caller repair. No native PostgreSQL reporting path or generic retry boundary was confirmed for 2F004.

Versions {#versions}

The locked catalogue places this condition at least by PostgreSQL 7.4. The facts block lists the published snapshots; source-path status is limited to the fixed PostgreSQL 18.6 evidence below.

Related {#related}

2F000, 38004

Sources {#sources}

See the fixed source links and message limits in the structured evidence record.

Compare versions

SQLSTATE evidence and recorded runtime versions

claims · identity
{
  "claim_id": "identity",
  "limits": "",
  "method": "Read the fixed errcodes definition row, severity, and macro.",
  "position": 0,
  "runtime": [],
  "sources": [
    "src.errcodes.18.6"
  ],
  "statement": "2F004 is reading_sql_data_not_permitted in SQLSTATE Class 2F."
}
claims · scan-boundary
{
  "claim_id": "scan-boundary",
  "limits": "The scan does not cover external wrappers, drivers, extensions, remote systems, or user code; absence from this scan is not absolute.",
  "method": "Compare resolved report groups with the fixed macro mapping.",
  "position": 1,
  "runtime": [],
  "sources": [
    "src.calls.REL_18_6",
    "src.errcodes.18.6"
  ],
  "statement": "No resolved 2F004 report group was found in the locked PostgreSQL 18.6 core/contrib call scan."
}
claims · history-boundary
{
  "claim_id": "history-boundary",
  "limits": "Definition presence is not an emitting-path observation.",
  "method": "Compare canonical release facts with the available history boundary.",
  "position": 2,
  "runtime": [],
  "sources": [
    "src.errcodes.18.6"
  ],
  "statement": "Locked release definitions establish catalogue presence from 7.4; they do not establish a precise introducing release or runtime use."
}
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#L292"
}
sources · src.calls.REL_18_6
{
  "commit": "",
  "docs_url": "",
  "kind": "local_artifact",
  "location": "",
  "path": "raw/calls/REL_18_6.jsonl",
  "position": 1,
  "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:9ee3faefadd2a0e31385f9f41f95a3ba54d47f2d701be750f3834c516d56074a

Text language: en · english-manuals:9ee3faefadd2a0e31385f9f41f95a3ba54d47f2d701be750f3834c516d56074a