SkillVaultskills Browse all 500 skills

Data · Version 1.5.0 · Reviewed 2026-08-02

PostgreSQL Vacuum Expert

Make data systems more correct and operable for autovacuum tuning and bloat diagnosis with evidence, explicit trade-offs, and a verification plan.

4 method steps 6 documented failure modes 5 diagnostic checks 7 quality gates

Diagnoses table bloat, transaction-ID risk, autovacuum starvation, dead tuples, visibility maps, and long-running transactions in PostgreSQL.

₹99 one-time

Get this skill archive

What this skill helps you do

  • Autovacuum tuning
  • Bloat diagnosis
  • Transaction-ID safety

How PostgreSQL Vacuum Expert works

You provide

Schema, query plans, and the real access pattern

It inspects

Plan accuracy and lock behavior for autovacuum tuning

It decides

A bloat diagnosis change weighed against write cost

You verify

Re-measured plan with buffer reads and timing compared

What it checks first

PostgreSQL Vacuum Expert diagnoses table bloat, transaction-ID risk, autovacuum starvation, dead tuples, visibility maps, and long-running transactions in PostgreSQL. Use it when the work involves Autovacuum tuning, Bloat diagnosis, Transaction-ID safety.

  1. The actual query plan with real row counts, not the estimated plan or the query text alone.
  2. Whether the workload is read-heavy, write-heavy, or mixed, since the correct design differs sharply.
  3. Transaction boundaries and duration, because long transactions block vacuum and hold locks.
  4. Index coverage relative to both the filter and the sort, since satisfying one but not the other still costs a sort.
  5. Connection pool behavior, as pool exhaustion presents as database slowness while the database is idle.

Failure modes it recognizes

  • An index that serves the predicate but not the ordering, forcing a full sort for a small LIMIT.
  • A long-running transaction preventing vacuum and causing gradual bloat and plan degradation.
  • Implicit type casting on a join or filter column silently disabling index use.
  • Connection pool exhaustion from long-held connections, appearing as a database problem.
  • A write-heavy table with excessive indexes where insert cost dominates the workload.
  • Statistics stale after a bulk load, so the planner chooses a plan for a table size that no longer exists.

Answers it will reject

  • Adding an index per slow query until write amplification becomes the new bottleneck.
  • Tuning configuration parameters before examining the plan for the dominant query.
  • Interpreting `EXPLAIN` without `ANALYZE`, which reports estimates and proves nothing.
  • Increasing pool size to fix latency caused by lock contention, which adds waiters rather than capacity.

Decision rules it applies

  • Optimize the query that dominates total time, not the one that feels slowest in isolation.
  • Order composite index columns by equality first, then range or sort last.
  • Keep transactions short and never hold one open across an external call.
  • Create and drop indexes concurrently on live tables, accepting the longer build for the absent lock.

Evidence it asks for

  • `EXPLAIN (ANALYZE, BUFFERS)` to compare estimated with actual rows and attribute I/O.
  • Rank queries by cumulative execution time rather than by single-execution latency.
  • Monitor the oldest open transaction and lock wait counts as standing metrics.

The method inside

  1. Establish what is actually true about autovacuum tuning from the supplied evidence, and mark what is missing.
  2. Identify the mechanism behind bloat diagnosis rather than restating the symptom.
  3. Choose the smallest defensible change for Transaction-ID safety, weighing impact, confidence, effort, and reversibility.
  4. Plan migration and observability before cutover

Deliverables

  • Autovacuum tuning assessment
  • Bloat diagnosis decision and action plan
  • Transaction-ID safety verification checklist

Evidence requirements

  • Schema, access patterns, query plans, or event contracts
  • Volume, cardinality, retention, and freshness
  • Consistency, latency, and migration constraints

Quality gates

  • Every material claim traces to supplied evidence or is labeled as a hypothesis.
  • The response follows the declared deliverable contract.
  • No execution, access, measurement, or verification is invented.
  • Secrets and personal data are redacted rather than repeated.
  • The user receives a concrete independent verification step.
  • The relevant failure modes in this domain were considered rather than only the reported symptom.
  • No listed anti-pattern was recommended as a solution.

Example task

Input

A frequently updated table keeps growing even after rows are deleted, and index scans have become much slower.

Expected output

Deletes create dead tuples rather than returning pages immediately. Autovacuum cannot clean them because a six-hour transaction keeps the old snapshot horizon alive; end that transaction before increasing vacuum frequency...

Boundaries and compatibility

Ideal for

  • Autovacuum tuning: produce a decision or artifact grounded in supplied evidence.
  • Bloat diagnosis: produce a decision or artifact grounded in supplied evidence.
  • Transaction-ID safety: produce a decision or artifact grounded in supplied evidence.

Out of scope

  • Recommending indexes without a workload
  • Treating eventual consistency as universally acceptable

Agent compatibility

  • GitHub Copilot custom agents
  • Claude Agent Skills / SKILL.md
  • Any instruction-following chat model

Tool policy: Advisory by default. No tools are assumed. If the host provides tools, use read-only evidence gathering unless the user explicitly approves a scoped write or execution action.