P
postgresql-expert-best-practices-code-review
About postgresql-expert-best-practices-code-review
A PostgreSQL guidance skill for developers writing or reviewing production database schemas, migrations, and queries. Its prioritized rules pair rationale with incorrect and corrected migration examples.
Key features
- 01Prioritized index-management rules
- 02Safer constraint and foreign-key changes
- 03Schema design and naming guidance
- 04Incorrect and corrected migration examples
Use cases
- 01Reviewing a schema for performance issues
- 02Adding indexes without blocking writes
- 03Planning safer constraint migrations
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ wispbit-ai/ skills --skill postgresql-expert-best-practices-code-reviewAfter installing, type/postgresql-expert-best-practices-code-reviewin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
rules/add-index-for-foreign-key.mdalways-include-columns.mdcolumn-naming-standards.mdindex-naming-standards.mdlimit-non-unique-index.mdonly-concurrent-indexes.mdonly-jsonb.mdset-column-not-null.mdsplit-foreign-key.mdunique-constraint.mdDetails
From the project READMEPostgreSQL Expert Best Practices
Simple, pragmatic, opinionated. Only what matters for writing production-grade PostgreSQL queries.
When to Apply
Reference these guidelines when:
- Writing database migrations or schema changes
- Creating or modifying PostgreSQL tables and columns
- Adding indexes, constraints, or foreign keys
- Reviewing database schema for performance issues
- Refactoring existing database structures
- Optimizing query performance or database design
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Index Management | CRITICAL-HIGH | only-concurrent-indexes, add-index-for-foreign-key |
| 2 | Constraint Safety | HIGH | unique-constraint, split-foreign-key, set-column-not-null |
| 3 | Schema Design | MEDIUM | only-jsonb, always-include-columns, limit-non-unique-index |
| 4 | Naming Standards | LOW | index-naming-standards, column-naming-standards |
Quick Reference
only-concurrent-indexes- Always use CONCURRENTLY to prevent blocking writes during index creationadd-index-for-foreign-key- Create indexes for foreign keys to improve query performanceunique-constraint- Split unique constraint creation into concurrent index + constraint stepssplit-foreign-key- Add foreign keys without validation first, then validate separatelyset-column-not-null- Use check constraints before setting NOT NULL to avoid table locksonly-jsonb- Use JSONB instead of JSON for better performance and indexing capabilitiesalways-include-columns- Include id, created_at, and updated_at in all tables for auditabilitylimit-non-unique-index- Limit non-unique indexes to maximum three columns for efficiencyindex-naming-standards- Use consistent index naming: idx_tablename_columnnamecolumn-naming-standards- Maintain consistent snake_case naming and use id suffix for foreign keys
How to Use
Read individual rule files for detailed explanations and code examples:
rules/only-concurrent-indexes.md
rules/add-index-for-foreign-key.md
rules/unique-constraint.md
rules/split-foreign-key.md
rules/set-column-not-null.md
rules/only-jsonb.md
rules/always-include-columns.md
rules/limit-non-unique-index.md
rules/index-naming-standards.md
rules/column-naming-standards.md
Each rule file contains:
- Brief explanation of why it matters
- Impact level and description
- Incorrect migration example with explanation
- Correct migration example with best practices
- Additional context and references
Comments
Markdown supported