DiscoverThe Backend Engineering Show with Hussein NasserPostgres Architecture | The Backend Engineering Show
Postgres Architecture | The Backend Engineering Show

Postgres Architecture | The Backend Engineering Show

Update: 2023-02-16
Share

Description

Creating a listener on the backend application that accepts connections is simple. You listen on an address-port pair, connection attempts to that address and port will get added to an accept queue; The application accepts connections from the queue and start reading the data stream sent on the connection.


However, what part of your application does the accepting and what part does the reading and what part does the execution? You can architect your application in many ways based on your use cases. I have a medium post just exploring the different options.


In this video I explore the PostgreSQL process architecture in details. Please note that the information here is derived from both the Postgres doc and code. Discussions about scalability and performance are solely based on my opinions.


0:00 Intro


1:30 Overview


3:30 Postgres MVCC


5:30 Processes vs Threads


7:40 Postmaster Process


8:00 Backend Processes


13:30 Shared Buffers


14:52 Background Workers


17:18 Auxiliary Processes


17:45 Background Writer


22:30 Checkpointer


23:40 Logger


24:06 Autovacuum Launcher and Workers


25:30 WAL Processes


28:53 Startup Process


Read full article


https://medium.com/@hnasr/postgresql-process-architecture-f21e16459907

Comments 
00:00
00:00
x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

Postgres Architecture | The Backend Engineering Show

Postgres Architecture | The Backend Engineering Show

Hussein Nasser