Conference Schedule - PGCon 2023

IPC in PostgreSQL

Date: 2023-06-01
Time: 13:00–13:45
Room: DMS 1120
Level: Intermediate

PostgreSQL has a rich set of abstractions for inter-process communication, with names and sometimes ideas that may be new to those coming from general purpose programming environments. In this talk I will talk about the process model, and the main abstractions in the tool box for managing concurrency at a basic level in PostgreSQL, including:

  • signals, procsignals, pmsignals
  • interrupts
  • timeouts
  • latches
  • wait event sets
  • lightweight locks
  • condition variables
  • barriers
  • heavyweight locks
  • shared memory

and more. This will include some discussion of evolving implementation details, from a systems hacker point of view.

My goal is to provide an overview of these core tools that come up again and again in pgsql-hackers mailing list discussions about feature development and bugs in PostgreSQL. They are also part of the API available to extension writers.

link to video


Thomas Munro