~/talk

Streaming I/O and vectored I/O

Talkat PGConf.dev 2024 · 2024-05-28..05-31· [databases]
slides:none on file

Postgres adds a ReadStream abstraction that groups ReadBuffer calls into larger vectored I/O so scans emit 128k preadv()s instead of many 8k pread()s, using io_combine_limit (default 128k) and effective_io_concurrency to issue concurrent reads; ANALYZE, sequential scans and pg_prewarm already use it in v17. Direct I/O is exposed behind debug_io_direct (PG16) and reveals filesystem quirks (btrfs checksum failures). WriteStreams and background or io_uring-driven asynchronous I/O are WIP to offload and overlap I/O for VACUUM, COPY and CHECKPOINT.

AI-written summary · about

  1. 0:00Introduction and overview
  2. 1:16Historical I/O interfaces
  3. 9:58Direct I/O in databases
  4. 14:56Asynchronous I/O concepts
  5. 20:01Read streams in PostgreSQL
  6. 33:30Future streaming I/O ideas
  7. 40:27PostgreSQL 17 and beyond
  8. 43:34Q&A session
~/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.