~/talk

Advanced testing with Injection Points

Talkat FOSSASIA PGDay 2025 · on Friday, 2025-03-14· at 16:00· Hall 2· [databases]
slides:none on file

A new backend feature called PostgreSQL 17 injection points lets tests run custom C callbacks at exact file/line locations; it stores names and cached function pointers in shared memory, supports dynamic library loading, and offers APIs to attach/detach/wait/wake callbacks and pass a private data blob. Tests use a SQL module and isolation tester to coordinate up to multiple waitpoints; set_local per-process scope keeps tests concurrent. The feature is committed and already catches real regressions in seconds.

AI-written summary · about

  1. 0:00Introduction and speaker intro
  2. 1:23Why injection points were created
  3. 3:29Core requirements and design goals
  4. 8:06Existing proposals and limitations
  5. 13:03Implementation details and APIs
  6. 20:31Using injection points in tests
  7. 25:48Concurrent testing with isolation tester
  8. 31:02Real-world bug fix examples
  9. 35:37TAP test example and race condition
  10. 38:09Use cases and future improvements
  11. 41:45Q&A and closing remarks
~/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.