Skip to content

25003 — inappropriate_access_mode_for_branch_transaction

PostgreSQL SQLSTATE 25003: the branch-transaction access-mode condition, with a conservative source boundary.

25003 — inappropriate_access_mode_for_branch_transaction

At a glance

25003 is the SQLSTATE name for an inappropriate access mode in a branch transaction. The fixed PostgreSQL 18.6 core scan resolves no direct report site, so this entry documents the definition boundary without inventing an ordinary SQL trigger.

Field Value
SQLSTATE 25003
Condition inappropriate_access_mode_for_branch_transaction
Status active
Known present by 7.4
Locked snapshots 9.0.23, 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_INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION
Aliases

Meaning

The condition name belongs to Class 25 and describes branch-transaction management. It should not be used as a synonym for 25006 read-only SQL transactions, 25P01 missing transaction blocks, or an application-defined exception.

Diagnosis

When this code is reported by a branch-transaction API, retain the exact SQLSTATE, API operation, access mode, and transaction context. The current fixed core evidence does not provide a server message template or a safe SQL reproduction.

Response

Inspect the branch-transaction API contract and correct its access-mode choice before retrying. Do not replace the missing path with RAISE, and do not retry a regular read-only statement under this code.

Source message and runtime boundary

The fixed errcodes.txt row defines the condition and macro; the resolved call scan in raw/calls/REL_18_6.jsonl contains no direct report group, so this batch publishes no message template and constructs no natural SQL trigger.

Applicability boundary and case

The selected runner cases on PostgreSQL 18.6 and 10.21 are not_applicable; they record the source boundary and contain no copyable SQL trigger. Structured evidence · case export

Versions and limits

The locked catalogue records the condition by the generated known present by boundary and in the listed snapshots. Runtime status is deliberately not applicable: both selected runner targets record the source-only boundary, not a passed natural trigger.

25004 branch transaction isolation mode, 25006 read-only SQL transaction, 25P01 no active SQL transaction.

Sources

  • src.errcodes.18.6 (SHA-256 6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba)
  • src.calls.REL_18_6raw/calls/REL_18_6.jsonl (SHA-256 9ee8a0e81d8f0825c5c1ae45583439859a26e602bdd4ce2f2a62aa278867ccbf)