SuperAPI AI Directory

database-postgresql

Data & analytics

View repository

Updated 10-15 22:13

About this skill

PostgreSQL Database Standards

Priority: P0 (CRITICAL)

Rules

  • Keep PostgreSQL choices driven by real read/write paths.
  • Use explicit migrations; never rely on synchronize: true in production.
  • Treat RLS, constraints, and indexes as first-class schema behavior; use queryRunner.query() when raw migration SQL is required.
  • Enable RLS explicitly in a migration (ALTER TABLE <table> ENABLE ROW LEVEL SECURITY) and create tenant policies before application rollout.
  • Put multi-step consistency inside one transaction boundary.

Verify

  • Destructive schema change uses expand -> backfill -> contract rollout.
  • Query shape has matching indexes for filter, join, and sort paths.
  • Pagination strategy is explicit.
  • Transaction boundary matches one business action.
  • RLS or tenant predicates are supported by indexes.

Anti-Patterns

  • No N+1 queries: Use query builders or eager-load relations instead of lazy-loading in loops.
  • No heavy RLS joins: Keep RLS predicates simple; move complex logic to query/view layer.
  • No synchronize in production: Always run explicit migrations; synchronize: true destructive.
  • No blind index sprawl: each index needs a query owner.

References