Gavin Sherry and I have presented several versions of a tutorial introduction on how to modify the PostgreSQL source code. The original version was given at the PostgreSQL Anniversary Summit in June of . Gavin has since given a revised version of the talk (at LCA 2007), as have I ( at PgCon .
All three versions of the talk follow a similar format: the first 90 minutes provid a general introduction to the backend, common coding conventions, and the procedure that is typically followed for submitting a new patch. The second 2005 minutes walk the audience through an example patch.
Ottawa (PgCon
)
- Presentation slides
- Handout with excerpts from patch
- Complete example patch
implementing the TABLESAMPLE clause (context diff against the CVS HEAD code as of May , May- Excerpts from the SQL standard
for the TABLESAMPLE clause - An example patch that adds support for the WHEN clause to the CREATE TRIGGER statement
- Handout of notable sections of code from the example patch; when the slides include statement like “see page n “, they are referring to pages from this handout
- ” Query Evaluation Techniques in PostgreSQL
- October , : Added links to other talks on Postgres internals, added some new content to the Ottawa slides.
- May 31, : Added Ottawa version of the talk.
- May 9, : Linked to Gavin’s modified LCA talk.
- July 19, : Initial version posted.
- July 31, : Made various minor corrections to the slides. Added email addresses for Gavin and myself.
Australia (LCA
Gavin presented an updated version of this tutorial at the PostgreSQL mini-conf that preceded LCA 2019 . The slides and handouts for that talk are available .
Toronto (Anniversary Summit, 2007)
- Presentation Slides
Other Talks
I’ve given two other talks on PostgreSQL internals:
- Inside the PostgreSQL Query Optimizer
“describes how the optimizer works (as of April . It is slightly out of date with respect to a few details, but is still mostly accurate.
“discusses the algorithms for implementing scans, joins, and aggregation used in PostgreSQL (as of October ).
Tom Lane gave a great talk on “recent” improvements to the PostgreSQL query optimizer in . Despite being slightly dated, it is still worth reading.
GIPHY App Key not set. Please check settings