↑↓ select↵ open⌫ change scopeOpen full search

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

Wiki / SQLSTATE

25007 — schema_and_data_statement_mixing_not_supported

25007 names a transaction-state condition for mixing schema and data statements. The fixed PostgreSQL 18.6 core scan resolves no direct report group, so this page does not manufacture a SQL example.

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
Invalid Transaction State
condition name
schema_and_data_statement_mixing_not_supported
lang
en
sqlstate
25007

Definition PG 18

25007 — schema_and_data_statement_mixing_not_supported

At a glance {#at-a-glance}

25007 names a transaction-state condition for mixing schema and data statements. The fixed PostgreSQL 18.6 core scan resolves no direct report group, so this page does not manufacture a SQL example.

Meaning {#meaning}

The condition name describes a narrow statement-composition boundary. It is not a general replacement for syntax, read-only, or active-transaction errors.

Diagnosis {#diagnosis}

Keep the protocol or API operation, statement sequence, and exact server SQLSTATE together. The fixed core evidence has no message template to quote and no safe natural case to run.

Response {#response}

Use the API’s documented statement grouping and separate schema changes from data operations when it requires that boundary. Do not invent a retry or RAISE path from the condition name.

Source message and runtime boundary {#messages}

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 {#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 {#versions}

The generated facts record the locked catalogue membership. Both runner targets are not_applicable source-boundary cases; no natural runtime coverage is claimed.

Related {#related}

25006 read-only SQL transaction, 25008 held cursor isolation, 25P01 no active SQL transaction.

Sources {#sources}

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

Compare versions

SQLSTATE evidence and recorded runtime versions

cases · schema_data_statement_boundary
{
  "assertions": [
    "No fabricated SQL trigger is included; the selected run records a definition/source boundary."
  ],
  "case_id": "schema_data_statement_boundary",
  "cleanup": "Drop the case schema with an owner connection.",
  "has_snippet": false,
  "position": 0,
  "preconditions": [
    "A runner-owned disposable target is provisioned."
  ],
  "repair": "Follow the explicit transaction or source boundary described by the case.",
  "trigger": "Source/definition evidence only; no natural SQL trigger is claimed.",
  "versions": [
    "10",
    "18"
  ]
}
claims · identity
{
  "claim_id": "identity",
  "limits": "The name points to a statement-composition boundary, not a generic DDL error.",
  "method": "Read the fixed condition row and macro.",
  "position": 0,
  "runtime": [],
  "sources": [
    "src.errcodes.18.6"
  ],
  "statement": "25007 is schema_and_data_statement_mixing_not_supported in Class 25."
}
claims · source-boundary
{
  "claim_id": "source-boundary",
  "limits": "This batch does not turn SQL/MED or protocol-only assumptions into a backend case.",
  "method": "Scan fixed source call records for SQLSTATE 25007.",
  "position": 1,
  "runtime": [],
  "sources": [
    "src.calls.REL_18_6"
  ],
  "statement": "The exhaustive resolved PostgreSQL 18.6 call scan contains no direct 25007 report group; no natural SQL reproduction or message template is published here."
}
runtimes · runtime.25007-batch2-latest-20260909.latest · 18.6 (Homebrew) · not_applicable
{
  "cases": [
    "schema_data_statement_boundary"
  ],
  "limits": "",
  "position": 0,
  "raw": {
    "case_manifest": {
      "path": "verify/cases/25007/cases.json",
      "sha256": "67528005b2b118f14485e2ae1985c95db2ebd71747e096284928827db74b708a"
    },
    "case_status": "not_applicable",
    "cases": [
      "schema_data_statement_boundary"
    ],
    "id": "runtime.25007-batch2-latest-20260909.latest",
    "observed": {
      "case_status": "not_applicable"
    },
    "raw": "verify/results/25007-batch2-latest-20260909/latest/raw.jsonl",
    "raw_sha256": "9d49d76e1cf0b453fb58c1555208f6067dfeee21354a6c72e2130925d80890ce",
    "run_id": "25007-batch2-latest-20260909",
    "server_version": "18.6 (Homebrew)",
    "server_version_num": 180006,
    "status": "not_applicable",
    "summary": "verify/results/25007-batch2-latest-20260909/latest/summary.json",
    "summary_sha256": "ec85372f3a83dd2b9de52641c1c453a42fdf5e70bc858036603cb43256986af2",
    "target": "latest",
    "target_status": "passed"
  },
  "run_id": "25007-batch2-latest-20260909",
  "runtime_id": "runtime.25007-batch2-latest-20260909.latest",
  "server_version": "18.6 (Homebrew)",
  "status": "not_applicable",
  "target": "latest"
}
runtimes · runtime.25007-batch2-pg10-20260909.pg10 · 10.21 (Debian 10.21-1.pgdg90+1) · not_applicable
{
  "cases": [
    "schema_data_statement_boundary"
  ],
  "limits": "",
  "position": 1,
  "raw": {
    "case_manifest": {
      "path": "verify/cases/25007/cases.json",
      "sha256": "67528005b2b118f14485e2ae1985c95db2ebd71747e096284928827db74b708a"
    },
    "case_status": "not_applicable",
    "cases": [
      "schema_data_statement_boundary"
    ],
    "id": "runtime.25007-batch2-pg10-20260909.pg10",
    "observed": {
      "case_status": "not_applicable"
    },
    "raw": "verify/results/25007-batch2-pg10-20260909/pg10/raw.jsonl",
    "raw_sha256": "f5b6ca10542fbb30d88cf5f0bb8cb6d386c1c7246f4d0ab3f0d60ffd180c5758",
    "run_id": "25007-batch2-pg10-20260909",
    "server_version": "10.21 (Debian 10.21-1.pgdg90+1)",
    "server_version_num": 100021,
    "status": "not_applicable",
    "summary": "verify/results/25007-batch2-pg10-20260909/pg10/summary.json",
    "summary_sha256": "c98d845addf0188ae17a7182426ddf65dd4e4803df7554930d1c484d311dfccc",
    "target": "pg10",
    "target_status": "passed"
  },
  "run_id": "25007-batch2-pg10-20260909",
  "runtime_id": "runtime.25007-batch2-pg10-20260909.pg10",
  "server_version": "10.21 (Debian 10.21-1.pgdg90+1)",
  "status": "not_applicable",
  "target": "pg10"
}
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.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:c5bd2981756cd2a35a616c0ccf362ac123de0b1df0c3f69f0ffd88dd67b21b68

Text language: en · english-manuals:c5bd2981756cd2a35a616c0ccf362ac123de0b1df0c3f69f0ffd88dd67b21b68