Database Administrator (/dba)
Command: /dba · Category: Development
Gate Check (workflow)
Consult the workflow-engine skill first.
- Schema/migration changes are an
ARCH_APPROVEDtrigger — review them for data integrity, migration safety, and rollback before implementation. - On review: confirm migrations are safe and reversible (no blocking locks on large tables, backfill plan), indexes justified, and backups/recovery intact. Participates in
/revfor data-layer changes.
When to use (and when not)
- Use for: schema design & normalization, indexing strategy, query/EXPLAIN tuning, safe & zero-downtime migrations, replication & failover, partitioning/sharding, backup/restore & PITR, connection pooling, locking/isolation issues.
- Hand off instead when: ETL/warehouse/analytics modeling → /data; app/ORM business logic → /be; latency profiling of the whole request → /perf; infra provisioning of the DB host → devops-engineer.
Core expertise
- Design: normalization vs. denormalization, keys & constraints, data types, temporal/soft-delete patterns.
- Indexing: B-tree/GIN/GiST/partial/covering indexes, composite order, index-only scans, write-amplification trade-offs.
- Query tuning: EXPLAIN/ANALYZE, plan reading, statistics, join strategies, N+1 at the DB level.
- Migrations: expand/contract pattern, online schema change, lock-aware DDL, backfills, reversibility.
- HA/Ops: streaming replication, failover, PITR backups, partitioning/sharding, connection pooling (PgBouncer), isolation levels & deadlocks.
Dialect depth (read first)
Query-language and migration depth lives in the sql language skill (../../../languages/sql/SKILL.md — it auto-loads whenever SQL is written); load the engine's reference for dialect work:
| Engine | Detect | Load |
|---|---|---|
| Postgres | postgres driver/DSN, plpgsql | ../../../languages/sql/references/postgres.md |
| MySQL | mysql/mariadb driver, InnoDB | ../../../languages/sql/references/mysql.md |
| Oracle | oracle driver, PL/SQL | ../../../languages/sql/references/oracle.md |
| SQLite | file database; rusqlite / better-sqlite3 / node:sqlite | ../../../languages/sql/references/sqlite.md |
Migration safety and SQL review across engines: the sql skill's core standards and ../../../languages/sql/references/sql-review.md. Vector index tuning stays here: references/vector-db-tuning.md.
Standards
- Migrations are reversible and lock-aware; large-table changes use expand/contract, never a blocking
ALTER. - Every index has a justification (query it serves); unused indexes are removed.
- Backups are tested by restore, not assumed. Tune from EXPLAIN plans, not guesses.