Intro to Postgres Hacking via Temporal Tables
summary
Adds SQL:2011-style application-time temporal support by implementing for a portion of DML: defines a period on a table, temporal PK/unique constraints, temporal update/delete semantics, and temporal FKs; parses new grammar in gram.y with flex/bison, introduces new parse/plan/exec node types, a syscache entry and lsyscache helper, and evaluates bounds during executor init so the epilogue inserts 0–2 leftover rows using tuple table slots. Patch compiles and runs with some review feedback (updatable-view remapping and PK handling fixed), targeting PG 17.
AI-written summary · about
chapters (15)
- 0:00Introduction and speaker background
- 1:52Temporal tables overview
- 3:39Why query pipeline phases matter
- 6:46Parsing phase deep dive
- 9:59Memory management in Postgres
- 10:41Analysis phase explained
- 13:27System catalog caches
- 20:56Rewriting phase and views
- 22:00Planning and optimization
- 24:30Executor phase introduction
- 27:02Executor nodes and state
- 32:34Tuple table slots explained
- 37:14Heap and buffer tuple slots
- 40:03Virtual and minimal tuple slots
- 43:57References and closing
related talks
23mImplementing Temporal Features in PostgreSQL: SQL Standard and Beyond
01h 03mTemporal Database Demo
46mEnhancements to the bitemporal model support: integrity constraints
27mWhat's new with constraints in Postgres 18
22mIntroducing a Temporal Benchmark in Benchbase
42mBack to the Future! Time Travel with Bitemporal Databases
39mTimescaleDB: Re-engineering PostgreSQL as a time-series database
40mLet's SQL Like It's 1992!
