A curated list of awesome PostgreSQL hacking resources, inspired by awesome-postgres
🐘 Contributions welcome. Add links through pull requests or create an issue to start a discussion.
- The Internals of PostgreSQL - Hironobu SUZUKI - The main purposes of this document are to explain how each subsystem works, and to provide the whole picture of PostgreSQL.
- PostgreSQL 14 Internals - Egor Rogov - This book is for those who will not settle for a black-box approach when working with a database.
- Developer FAQ
- So, you want to be a developer?
- Submitting a Patch
- Walk-through of implementing simple Postgres patch. From sources to CI. 📹 - Andrey Borodin
- PGConf.EU 2023, Making your patch more committable 📹 - Melanie Plageman
- PGConf.EU 2023, PostgreSQL Hacker Tips 📹 - Michael Paquier
- A Tour of PostgreSQL Internals - Tom Lane, 2000.
- PostgreSQL Backend Flowchart
- A Comprehensive Overview of PostgreSQL Query Processing Stages - Cary Huang.
- Hooks in PostgreSQL - Guillaume Lelarge.
- Unofficial documentation for PostgreSQL hooks - Tamika Nomara.
- PGConf.EU 2024, The Wire Protocol 📹 - Heikki Linnakangas - slides
- pgsql-hackers - The PostgreSQL developers team lives here. Discussion of current development issues, problems and bugs, and proposed new features. If your question cannot be answered by people in the other lists, and it is likely that only a developer will know the answer, you may re-post your question in this list. You must try elsewhere first!
- pgsql-committers - Notification of git commits are sent to this list. Do not post here!
- pgsql-bugs - If you find a bug, please use the bug reporting form.
- Posting Your Patch On pgsql-hackers - Robert Haas.
- Will Postgres development rely on mailing lists forever? - Tomas Vondra.
- Understanding the Postgres Hackers Mailing List Language - Greg Sabino Mullane.
- Tip: you get moderated if you post to more than one mailing list on the same message.
- PGCon 2019, Introducing PostgreSQL SQL Parser 📹 - Bo Peng - slides
- Recent PostgreSQL Optimizer Improvements - Tom Lane, 2003.
- Inside the PostgreSQL Query Optimizer - Neil Conway, 2005.
- PGCon 2011, Hacking the Query Planner - Tom Lane.
- PGCon 2018, What's in a Plan 📹 - Robert Haas - slides
- PGCon 2020, Hacking the Query Planner, Again 📹 - Richard Guo - slides
- CMU Database Group, PostgreSQL Optimizer Methodology 📹 - Robert Haas
- PGCon 2019, Learning to Hack on Postgres Planner 📹 - Melanie Plageman
- Query Evaluation Techniques in PostgreSQL - Neil Conway, 2007.
- PGConf.EU 2024, PostgreSQL Executor: Executing your execution plan 📹 - Rafia Sabih - slides
- PGCon 2022, Breaking away from FREEZE and Wraparound 📹 - Masahiko Sawada
- PGConf.dev 2024, Problem in PostgreSQL SLRU - And how we are optimizing it 📹 - Dilip Kumar
- Partitioning Improvements in PostgreSQL 11 - Robert Haas, 2018
- Dynamic Tracing
- PgCon 2019, Let's Dtrace Postgres 📹 - Adam Wolk - slides
- Citus Con 2022, Analyzing Postgres performance problems using perf and eBPF 📹 - Andres Freund - slides
- PGConf.dev 2024, Analyzing cacheline contention using perf c2c 📹 - Andres Freund - slides
- pg_plugins - Michael Paquier - Gathering of template plugins for PostgreSQL: background workers, logical replication things, etc.
- .devcontainer - Junwang Zhao - Unofficial devcontainer config for Postgres.
- PostgreSQL Hacker Helper - Sergey Solovev - VS Code extension for PostgreSQL core development: exploring Node variables, formatting, etc.
- pgrx - Build Postgres Extensions with Rust!
- pgzx - Create PostgreSQL extensions using Zig.
- PGCon 2023, Writing a Foreign Data Wrapper 📹 - Christophe Pettus