PostgreSQL Error Reference

Every error, explained

SQLSTATE codes, condition names, root causes, diagnostic queries, and recovery steps — structured for engineers running PostgreSQL in production.

3908 errors documentedFree diagnostics on every pageAll PG versions covered

Showing 3888 of 3908 errors

XX001 ERROR

multixact n from before multi freeze cutoff n found to be still run… — XX001

data_corrupted

PostgreSQL error "multixact n from before multi freeze cutoff n found to be still running" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

multixact n contains update XID n from before relfrozenxid n — XX001

data_corrupted

PostgreSQL error "multixact n contains update XID n from before relfrozenxid n" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

multixact n contains committed update XID n from before removable c… — XX001

data_corrupted

PostgreSQL error "multixact n contains committed update XID n from before removable cutoff n" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

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

data_corrupted

PostgreSQL error "multixact n contains running locker XID n from before removable cutoff n" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

multixact n has two or more updating members — XX001

data_corrupted

PostgreSQL error "multixact n has two or more updating members" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

found raw xmax n (infomask 0xn) not invalid and not multi — XX001

data_corrupted

PostgreSQL error "found raw xmax n (infomask 0xn) not invalid and not multi" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

uncommitted xmin n needs to be frozen — XX001

data_corrupted

PostgreSQL error "uncommitted xmin n needs to be frozen" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

could not read from WAL segment …, offset n: read n of n — XX001

data_corrupted

PostgreSQL error "could not read from WAL segment …, offset n: read n of n" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

could not read blocks n..n in file “…”: read only …u of …u bytes — XX001

data_corrupted

PostgreSQL error "could not read blocks n..n in file "…": read only …u of …u bytes" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

invalid page in block n of relation “…” — XX001

data_corrupted

PostgreSQL error "invalid page in block n of relation "…"" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

MultiXact n has invalid offset — XX001

data_corrupted

PostgreSQL error "MultiXact n has invalid offset" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

MultiXact n with offset (% — XX001

data_corrupted

PostgreSQL error "MultiXact n with offset (%" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

MultiXact n has offset (% — XX001

data_corrupted

PostgreSQL error "MultiXact n has offset (%" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

MultiXact n has too many members (% — XX001

data_corrupted

PostgreSQL error "MultiXact n has too many members (%" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

corrupted two-phase state file for transaction n of epoch n — XX001

data_corrupted

PostgreSQL error "corrupted two-phase state file for transaction n of epoch n" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

corrupted two-phase state in memory for transaction n of epoch n — XX001

data_corrupted

PostgreSQL error "corrupted two-phase state in memory for transaction n of epoch n" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

insufficient number of attributes stored separately — XX001

data_corrupted

PostgreSQL error "insufficient number of attributes stored separately" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

could not read WAL record — XX001

data_corrupted

PostgreSQL error "could not read WAL record" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

corrupted item lengths: total …u, available space n — XX001

data_corrupted

PostgreSQL error "corrupted item lengths: total …u, available space n" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 ERROR

corrupted line pointer: offset = n, size = …u — XX001

data_corrupted

PostgreSQL error "corrupted line pointer: offset = n, size = …u" (SQLSTATE XX001, data_corrupted): what it means, common causes, and how to fix it.

Internal Error
XX001 PANIC

SQLSTATE XX001 — PANIC: Could Not Write to pg_wal

data_corrupted

PostgreSQL crashes with PANIC: could not write to file "pg_wal/0000000100000023": No space left on device. All connections are dropped. The WAL volume is full. PostgreSQL cannot write WAL, so it canno

XX — Internal Error
XX001 WARNING

PostgreSQL WARNING: Page Verification Failed, Checksum Mismatch

data_corrupted

A streaming standby logs WARNING: page verification failed, calculated checksum X but expected Y for a specific relation. This means a data page on the standby does not match its stored checksum — eit

XX — Internal Error
XX001 ERROR

PostgreSQL: Index Marked INVALID After Failed CREATE INDEX CONCURRENTLY

data_corrupted

A DBA ran CREATE INDEX CONCURRENTLY idx_orders_status ON orders(status) but cancelled it midway (Ctrl+C or statement timeout). PostgreSQL leaves behind a partially-built index marked as INVALID in pg_

XX — Internal Error
XX001 ERROR

invalid page in block N of relation … — XX001

data_corrupted

PostgreSQL error "invalid page in block N of relation … — XX001" (SQLSTATE XX001): what it means, common causes, and how to fix it.

Internal Error