~/talk

Database in Distress: Testing and Repairing Different Types of Database Corruption

Talkat PostgreSQL Conference Europe 2025 · 2025-10-21..10-24· [databases]
slides:none on file

Shows a Python corruption simulator that surgically creates damaged pages and prints diagnostics with pageinspect outputs, demonstrating when reads produce errors, bogus transaction IDs, or even segmentation faults. Explains that PostgreSQL 18 enables page checksums by default and how zero_damaged_pages will zero out unreadable blocks so dumps can continue. Describes using pg_surgery, freezing or killing tuples, scripting CTID-based salvage, and when reconstruction is impossible without clean backups.

AI-written summary · about

  1. 0:00Introduction and welcome
  2. 1:05About the speaker and company
  3. 3:54Understanding database corruption
  4. 6:03Checksums in PostgreSQL 18
  5. 11:27Corruption in data blocks
  6. 17:33Damaged item IDs and tpples
  7. 20:47Repairing corrupted data
  8. 25:51Salvaging good data
  9. 30:15Business impact and urgency
  10. 35:14Q&A session begins
~/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.