# Dba

> Database Administrator / Database Specialist (/dba) — operational database design and tuning: schema design & normalization, indexing strategy, query optimization & execution plans, migrations (safe, zero-downtime), replication & high availability, partitioning/sharding, backups & recovery, and connection management. Covers Postgres, MySQL, and similar OLTP engines. Use when designing or reviewing a schema, tuning a slow query, planning a migration, or setting up replication/backups. Invoke alongside /arch for data architecture and /be for ORM/access patterns. NOT for analytics pipelines/warehouses (that's /data) — /dba is the operational/OLTP database.

- Skill: `olehsvyrydov/dba` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add olehsvyrydov/dba`
- Raw SKILL.md: https://api.skillmd.com/api/skills/olehsvyrydov/dba/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: olehsvyrydov (https://skillmd.com/u/olehsvyrydov)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/olehsvyrydov/dba

---


# Database Administrator (/dba)

**Command:** `/dba` · **Category:** Development

## Gate Check (workflow)
Consult the **`workflow-engine`** skill first.
- **Schema/migration changes are an `ARCH_APPROVED` trigger** — 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 `/rev` for 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.

