Schedule - PostgreSQL Development Conference 2025

Investigating Multithreaded PostgreSQL

Date: 2025-05-14
Time: 10:00–10:50
Room: Breakout Room 1
Level: Advanced

PostgreSQL began in 1986, and to this day uses a classic Unix forking server design typical of the era. Stonebraker et al wrote:

"Currently, POSTGRES runs as one process for each active user. This was done as an expedient to get a system operational as quickly as possible. We plan on converting POSTGRES to use lightweight processes available in the operating systems we are using. These include PRESTO for the Sequent Symmetry and threads in Version 4 of Sun/OS."

This talk is a belated update on that project. Topics:

  • brief intro to processes vs threads: concepts, standards, OSes, realities
  • what does the multi-process model cost us and give us?
  • what architectural choices are possible, with what trade-offs?
  • implications and interactions with other think-big projects (executor models, asynchronicity, resource management, ...)
  • what code structure evolutions are possible, with what trade-offs?
  • how do other database systems work?
  • selected subsystem problems and questions
  • keeping it simple
  • architectural pathways with achievable steps
  • what could this all mean for users?
  • what could this all mean for ecosystem developers?
  • selected patches, subproblems and progress
  • trying out minimal experimental implementations

My goal is to give some framing for the problem space, and to encourage discussion, collaboration and realistic progression. There are many high level topics, but I'll also be talking about low level nuts and bolts with real code.

Speaker

Thomas Munro