Postgres use processes not thread, the postmaster process acts as a supervisor. There are several ultility processes perform background work
Postmaster starts them, restarts them if they die, one backend process per user session, Postmaster listens for new connections
Postmaster : Spawn database process, only one postmaster process in database instance
Shared Buffers : Use for Reading and Writing operations on data files
WAL Buffers : User to perform write transaction logs area, change write to wal file in each commit
BGWRITER : Continue sync dirty pages from Shared Buffers to data files
WAL WRITER : Write change from WAL Buffers to WAL Segmments file
CHECKPOINT : Check all changes are saved to data files, it can be time-based or transaction-based
STATS COLLECTOR : Track server activities, provide stats information