multixact

Analyze PostgreSQL MultiXact machinery to diagnose tuple-locking contention and SLRU exhaustion.

Updated Jun 1, 2026
One-click install
npx skills add https://github.com/matejformanek/postgres-claude --skill multixact
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: multixact
Source: https://github.com/matejformanek/postgres-claude/tree/main/.claude/skills/multixact
Command: npx skills add https://github.com/matejformanek/postgres-claude --skill multixact

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill resolves the complexity of debugging PostgreSQL tuple-locking mechanisms, specifically addressing MultiXactId exhaustion, SLRU pressure, and confusing visibility issues caused by concurrent row-level locks.

Core Features & Use Cases

  • MultiXact Analysis: Provides deep insights into MultiXactId semantics, HEAP_XMAX_IS_MULTI bit interpretation, and SLRU management.
  • Locking Diagnostics: Helps identify and resolve issues related to tuple-locking modes (FOR SHARE, FOR UPDATE, etc.) and their interaction with foreign keys.
  • Wraparound Prevention: Offers guidance on monitoring and mitigating multixact wraparound risks and autovacuum freeze tuning.

Quick Start

Use the multixact skill to investigate the current MultiXactId age and identify tables requiring immediate vacuum freeze.

Frequently Asked Questions about multixact

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I diagnose PostgreSQL tuple-locking contention and SLRU exhaustion?

To diagnose PostgreSQL tuple-locking contention, analyze MultiXact machinery by interpreting xmax fields and HEAP_XMAX_IS_MULTI infomask bits to identify concurrent row-level lock conflicts and SLRU pressure.

What causes MultiXactId wraparound in PostgreSQL and how can I prevent it?

MultiXactId wraparound in PostgreSQL occurs when transaction IDs exhaust their limit. Monitor the current MultiXactId age and apply autovacuum freeze tuning to mitigate wraparound risks and manage multixact-freeze paths.

How does the HEAP_XMAX_IS_MULTI infomask bit affect PostgreSQL visibility?

The HEAP_XMAX_IS_MULTI infomask bit indicates that a tuple's xmax field contains a MultiXactId rather than a standard transaction ID, directly affecting row visibility and locking behavior during concurrent operations.

How do I resolve PostgreSQL autovacuum freeze issues with multixact-freeze paths?

Resolve PostgreSQL autovacuum freeze issues by investigating the current MultiXactId age to identify tables requiring immediate vacuum freeze, ensuring accurate visibility and locking behavior through proper multixact-freeze management.

Do I need deep knowledge of heap access methods to debug PostgreSQL tuple-locking?

Debugging PostgreSQL tuple-locking requires deep knowledge of heap access methods and transaction status tracking to accurately interpret MultiXactId semantics, locking modes like FOR SHARE, and their interaction with foreign keys.