dba

Designs database schemas, optimizes queries, and plans migrations for PostgreSQL and other databases.

Updated Aug 20, 2026
One-click install
npx skills add https://github.com/rhorba/RestoLedger --skill dba-rhorba
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dba
Source: https://github.com/rhorba/RestoLedger/tree/main/skills/dba
Command: npx skills add https://github.com/rhorba/RestoLedger --skill dba-rhorba

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Database work often stalls on schema design decisions, slow queries, risky migrations, and unclear backup strategies. This Skill provides structured guidance for designing schemas, choosing the right database, optimizing queries, and running safe migrations without over-engineering. ## Core Features & Use Cases - Schema Design & Modeling: Step-by-step entity identification, relationship mapping, naming conventions, and pragmatic normalization guidance with SQL examples. - Query Optimization & Indexing: Index type selection (B-tree, GIN, partial, composite), EXPLAIN ANALYZE red flags, N+1 fixes, and cursor pagination patterns. - Migrations, Backups & Operations: Zero-downtime migration checklists, connection pooling rules, backup strategies, and a staged performance-fix ladder from indexes to sharding. - Use Case: A backend developer reports a slow orders endpoint. Use this Skill to run EXPLAIN ANALYZE, identify a missing composite index, and generate a CONCURRENTLY index migration that deploys without locking the table. ## Quick Start Ask the dba skill to design a normalized PostgreSQL schema for your application and review your slowest query for missing indexes.

Frequently Asked Questions about dba

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

FAQPage Schema
When should I shard or partition a database?

Only after exhausting cheaper options: indexes, N+1 fixes, connection pooling, caching, and read replicas. Consider partitioning around 100M+ rows and treat sharding as a last resort measured in weeks of effort, driven by metrics rather than anticipation.