How to plan database migration rollback in production with compatibility windows, forward fixes, backfill recovery, and clear stop points before destructive schema changes.
How database connection pool exhaustion happens under production load, how to distinguish pool wait from slow SQL, and how to size pools across instances without overloading PostgreSQL.
How to choose database transaction boundaries in backend APIs so writes stay atomic without holding locks across external calls, slow work, retries, or post-commit side effects.
How to build a PostgreSQL job queue with FOR UPDATE SKIP LOCKED, including schema design, atomic claiming, indexes, retries, stuck-job recovery, cleanup, and production trade-offs.
How to prevent race conditions in backend systems by naming the invariant, moving correctness to durable boundaries, and testing overlapping requests, retries, and jobs.