Multixact

PostgreSQL's MultiXact machinery — `src/backend/access/transam/multixact.c` — the multi-transaction ID system that lets a single heap tuple record multiple concurrent lockers (for `SELECT ... FOR SHARE` and `SELECT ... FOR UPDATE` blends) plus the multixact-freeze / wraparound path. Loads when the user asks about MultiXactId semantics, `xmax` interpretation with the `HEAP_XMAX_IS_MULTI` bit, why a tuple can appear to be locked by multiple transactions, tuple-locking modes (`FOR SHARE` / `FOR NO KEY UPDATE` / `FOR KEY SHARE`), the multixact SLRU (`pg_multixact/`), MultiXact member offsets, or the `autovacuum_multixact_freeze_max_age` wraparound path. Skip when the ask is about clog (regular transaction commit status — sibling but different code) or 2PC prepared transactions.

matejformanek ba2e5f0 9.8 KB Updated

File contents

matejformanek/postgres-claude/tree/main/.claude/skills/multixact commit ba2e5f0759

Frequently asked questions

npx skillmds@latest add matejformanek/multixact