1000sj
SJ CODE
1000sj
전체 방문자
오늘
어제
  • 분류 전체보기
    • Security
      • 네트워크
      • 보안
      • CTF
      • Exploit
    • System Programming
      • Kernel
      • Operating System
      • Compiler
      • Device Driver
      • Emulator
      • Parrelel Processing
      • Assembly
    • Application Programming
      • Script
      • Android
    • Cloud Computing
      • Cloud Native
      • Public Cloud
      • Infrastructure
      • Database
      • DevOps
    • TroubleShooting
    • ETC
      • 문화 생활
      • 커뮤니티

인기 글

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
1000sj

SJ CODE

Postgresql Architecture #2 Process, Memory
Cloud Computing/Database

Postgresql Architecture #2 Process, Memory

2024. 10. 27. 03:04

PostgreSQL 은 postmaster 와 postgres 라고 하는 Server 프로세스를 통해 커넥션을 생성하여 사용자 요청을 받으며 이러한 요청은 백그라운드 프로세스에 의해 처리된다. 

 

postmaster

postmaster는 PostgreSQL 서버를 기동/중지하기 위한 필수 프로세스이자 가장 먼저 시작되는 프로세스이다. 

  • 공유 메모리 영역 관리 및 백그라운드 프로세스 시작
    • postmaster 프로세스는 PostgreSQL 서버의 공유 메모리 영역을 할당하고 관리하며, 여러 백그라운드 프로세스를 시작하는 역할을 수행한다.
  • 클라이언트 연결 요청 처리
    • postmaster는 클라이언트의 연결 요청을 대기하고 있다가, 클라이언트로부터 연결 요청이 발생하면 이를 처리하기 위해 postgres 프로세스를 생성하여 연결을 관리한다.
  • 프로세스 상태 모니터링 및 재기동
    • 최상위 프로세스로서 하위 프로세스들의 비정상 작동 여부를 체크하며, 문제가 발생할 경우 서버의 안정성을 유지하기 위해 해당 프로세스를 재기동하는 역할을 수행한다.

 

Postgres Backend Process

postgres 백엔드 프로세스는 클라이언트와의 개별적인 연결을 관리하고, 각 연결이 종료되면 프로세스도 종료되는 구조이다.

  • Client 요청 처리
    • postgres 백엔드 프로세스는 클라이언트가 요청한 SQL 쿼리와 명령을 처리한다. 클라이언트와의 연결이 끊어지면 이 프로세스는 자동으로 종료된다.
  • postmaster와의 관계
    • 이 프로세스는 postmaster 프로세스에 의해 생성되며, 각 클라이언트와 1:1 관계를 가진다. 즉, 클라이언트가 연결을 요청할 때마다 개별 postgres 프로세스가 시작된다.
  • 동시 연결 제한
    • max_connections 파라미터에 따라 동시 연결 가능한 클라이언트 수가 제한된다. 기본값은 100이며, 이 숫자만큼 클라이언트가 동시에 연결될 수 있다.

 

Utility Process

BG Writer

 

WAL Writer

 

CheckPointer

 

Archiver

 

Stats Collector

 

Autovacuum Launcher

 

Logger

 

Memory

 

References

  • https://blog.ex-em.com/1645

'Cloud Computing > Database' 카테고리의 다른 글

Postgresql Architecture #1 Client - Server Architecture  (0) 2024.10.20
    'Cloud Computing/Database' 카테고리의 다른 글
    • Postgresql Architecture #1 Client - Server Architecture
    1000sj
    1000sj

    티스토리툴바