Additional IO Observability in Postgres with pg_stat_io
summary
pg_stat_io in Postgres 16 introduces a cumulative view that separates flushes from extensions, reports per-backend and per-context IO and records counts like reads, writes, fsync time, evictions and reuse so you can see whether high write counts are inevitable file extensions or avoidable buffer flushes. Examples show autovacuum using a ring buffer that yields distinct reuse/eviction patterns and large SELECTs producing bulk reads, guiding whether to change shared_buffers, bgwriter or autovacuum settings.
AI-written summary · about
chapters (7)
- 0:00Introducing Melanie
- 1:01Melanie’s talk begins: Tuning with pg_stat_io
- 1:49I/O Goals, Tuning, and Statistics
- 6:22pg_stat_io
- 11:10Postgres autovacuum workflow
- 16:04Data-Driven Tuning with pg_stat_io
- 22:28Q&A
related talks
30mGetting the most out of pg_stat_io
53mVisualizing Postgres I O Performance for Development
48mStreaming I/O and vectored I/O
01h 06mIO in PostgreSQL: Past, Present, Future
41mLinux IO internals for PostgreSQL administrators in 2023
48mThe path to using AIO in postgres
49mAIO in PG 18 and beyond
39mDeep dive into PostgreSQL internal statistics
