multixact n contains running locker XID n from before removable cut…

SQLSTATE XX001 condition data_corrupted class XX — Internal Error severity ERROR
Reproduced & verified on PostgreSQL 14.23, 15.18, 16.14, 17.10 and 18.4 — identical message on every version.
Last reviewed 7 Jun 2026 · Reproduced live with the SQL on this page.

Symptoms

A statement failed with SQLSTATE XX001 (data_corrupted), reported at severity ERROR. This is a Internal Error condition: PostgreSQL emits the message multixact n contains running locker XID n from before removable cutoff n.

What the server log shows

ERROR:  multixact n contains running locker XID n from before removable cutoff n

Why PostgreSQL raises this

Class XX (Internal Error) indicates a condition that should not normally occur — often a sign of data corruption or a server bug. These warrant careful investigation.

As described in PostgreSQL’s Chapter 30 Reliability and the Write-Ahead Log and Appendix A (PostgreSQL Error Codes), SQLSTATE XX001 carries the condition name data_corrupted in class Internal Error. (Paraphrased — see the linked reference for the exact wording.)

Common causes

How to fix it

  1. Capture the full message, context, and server version.
  2. Check storage/hardware and recent crash history.
  3. Take a backup and consider reporting a reproducible case upstream.

Version applicability

This message text is present in PostgreSQL 16, 17, 18, 19. It was introduced around PostgreSQL 16; earlier releases do not emit this exact text.

Related & next steps

Reference: PostgreSQL Chapter 30 Reliability and the Write-Ahead Log.