select open change scope Open full search

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

SQLSTATE / CLASS 38 · EXTERNAL ROUTINE EXCEPTION

prohibited_sql_statement_attempted

SQLSTATE
38003
Condition name
prohibited_sql_statement_attempted
Class
External Routine Exception
Source macro
ERRCODE_E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED
Evidence
Definition only
Analysis & operational context

English SQLSTATE atlas: authored explanations and source/runtime evidence are separate from the manual definitions. View source ↗

<h1>38003</h1>

At a glance

The Class 38 member is defined, but no resolved PostgreSQL 18.6 core/contrib report group was found. It is distinct from Class 2F member 2F003 even though the condition names match.

Meaning

The external-routine class identifies the standard context; the actual prohibited statement, routine language, and owner remain unknown until a source path or message is found.

Messages

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

Diagnosis

Preserve the returned class/member code and inspect the external routine contract. Do not import dblink or postgres_fdw 2F003 messages into 38003.

Response

Repair the owner’s routine or call contract according to its fixed documentation; no PostgreSQL-native repair was confirmed.

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.

Sources

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

Source evidence

Evidence belongs to the frozen source and runtime versions listed here. It is not a runtime verification of the selected manual version.

38003 is prohibited_sql_statement_attempted in SQLSTATE Class 38.

Method: Read the fixed errcodes definition row, severity, and macro.

src.errcodes.18.6

No resolved 38003 report group was found in the locked PostgreSQL 18.6 core/contrib call scan.

Method: Compare resolved report groups with the fixed macro mapping.

Limits: The scan does not cover external wrappers, drivers, extensions, remote systems, or user code; absence from this scan is not absolute.

src.calls.REL_18_6 src.errcodes.18.6

Locked release definitions establish catalogue presence from 7.4; they do not establish a precise introducing release or runtime use.

Method: Compare canonical release facts with the available history boundary.

Limits: Definition presence is not an emitting-path observation.

src.errcodes.18.6

Message templates

No extracted message template is attached to this condition.

Reproduction & repair cases

No reproduction case is attached to this condition.

Recorded runtime evidence

No runtime observation is attached to this entry.

Definition snapshot: english-manuals:566a9bf2f4feb49c655d77d505a… · English manual source