Tutorial
summary
Three-hour tutorial unpacks exactly what happens between sending SQL and getting rows: use of libpq PQexec over port 5432, tokenizing to a parse tree, and planner choices (sequential / index / bitmap scans; nested‑loop, hash, merge joins). Storage uses 8KB pages and item pointers with TOAST for oversize fields; MVCC relies on xmin/xmax plus a two‑bit clog; durability uses the WAL replay and checkpoints model (first full page write then incremental WAL records; checkpoints recycle WAL). Generic query optimizer kicks in for large joins (≈11+ tables).
AI-written summary · about
chapters (11)
- 0:00Start
- 6:56Query in Libp
- 11:55TCP/IP Packet
- 13:12Query Processing
- 27:10Backend Flowchart - Magnified
- 36:10Scanner Identifier Rule
- 38:04Scanner Numeric Rules
- 40:16SELECT Parser Action
- 43:08Range Table Entry Structure
- 43:29Target Entry Structure
- 46:31Var Structure
related talks
51mHow does PostgreSQL actually work
49mHow Databases Work - For Developers, Accidental DBA's and Managers
52mUnderstanding PostgreSQL Query Plans (aka EXPLAIN)
25mPostgreSQL performance tips you have never seen before
42mPostgreSQL Tips & Tricks For App Devs
58mSuper Jumbo Delux
52mBulk data processing and PostgreSQL thingy
47mWhat If We Opened PostgreSQL's Hood?
