~/talk

Database Disasters and How to Find Them

Talkat PGConf NYC 2022 · 2022-09-22..09-23· [databases]
slides:none on file

Checklist-driven incident response: confirm connectivity, check logs and I/O, and fail over if the instance is truly down. Gives concrete fixes from real incidents: a 178 GB table with 23 indexes causes bloat and a plan flip, resolved by vacuum with index_cleanup=false and rebuilding indexes (vacuum finished in 45 minutes); a 25,000-session multi-xact stall is solved by drop FK and batch inserts and switching to single large transactions; a Django recursion creates 100+ subtransactions, fixed by tail iteration. Uses PGBadger, Performance Insights, XID and bloat monitoring and enforces a single coordinator in Slack-style incident management.

AI-written summary · about

  1. 0:00Intro
  2. 0:41The typical incident response.
  3. 3:21The basics.
  4. 5:26Initial data-gathering.
  5. 9:13Database server hard-down.
  6. 10:33Capacity-related.
  7. 12:04Check the logs.
  8. 13:07What does the application say?
  9. 16:16Problem distribution.
  10. 16:48Code-related.
  11. 18:22Session state.
  12. 20:14Every unhappy database...
  13. 20:29Site suddenly fell over.
  14. 21:24Things that didn't work.
  15. 21:58The observation that mattered.
  16. 22:41Plan flip!
  17. 24:31Shutdown Approacheth.
  18. 25:39What happened?
  19. 26:19PostgreSQL 12 to the rescue.
  20. 27:36Mystery Mayhem.
  21. 31:43Upgrade Follies.
  22. 35:40Death by Subtransaction.
  23. 36:13Diagnosis steps.
  24. 39:35Collegiate responsibility.
  25. 41:15One-Slide Crew Resource Management.
  26. 43:43Communication channel protocol.
  27. 45:19Your incident reports suck.
  28. 46:15Human error.
  29. 46:47The answer is usually better monitoring.
  30. 47:29If everything's an alert, nothing is.
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.