Date: 2023-06-01
Time: 14:00–14:45
Room: DMS 1160
Level: Intermediate
This talk with introduce people to making Postgres contributions using my work on multiranges and temporal tables as an example. I will especially focus on the query pipeline (parsing, analysis, rewriting, planning, executing), and the infrastructure around Node objects. I think this is one of the hardest parts of Postgres for new contributors to deal with, e.g. which stage is appropriate for what kind of work. Many past talks and articles have focused on basics like handling Datums and using C to define new SQL functions, but the query pipeline has seen less tutorial-style writing.
Our journey through the pipeline will draw on many related topics that new contributions often require. I will discuss syscache/lsyscache/typcache, querying/expanding the pg_*
tables, the relationships between operators/opclasses/opfamilies/access methods, using tuple table slots, and supporting your new feature in pg_dump
. I will also touch on building, debugging, testing, and documenting your change.