SQLSTATE 2200TSeverity lowLab verified

Incident brief

Invalid XML processing instruction

xmlpi() rejects an illegal processing-instruction target; the name 'xml' (in any case) is reserved and cannot be used as a target.

Reproduced on PostgreSQL 18.4Verified 2026-07-24 (isolated lab, PostgreSQL 18.4)Reviewed by Verified against PostgreSQL 18.4 in an isolated lab environment

In 10 seconds

What
Invalid XML processing instruction
What triggers it
Call xmlpi(name xml, 'payload') using 'xml' as the processing-instruction target.
The fix
Use a non-reserved target name for the processing instruction.
Proof
Reproduced on PostgreSQL 18.4 → A single SELECT reproduces SQLSTATE 2200T; the reserved target 'xml' is rejected with a DETAIL saying so.

The fix

What to do right now

The immediate, application-level response to this error.

  • Use a non-reserved target name for the processing instruction.
  • Rename any 'xml'-prefixed target to an application-specific name.
Fix — SQL
-- The PI target name 'xml' is reserved; use another name.
SELECT xmlpi(name proc, 'payload');

Related & next steps

Follow the thread

Everything this error touches — jump straight to the sibling error, term, runbook, or parameter.

Verification

PG 18.4
Last verified
2026-07-24 (isolated lab, PostgreSQL 18.4)
Reviewed by
Verified against PostgreSQL 18.4 in an isolated lab environment
Audit status
reviewed