PostgreSQL 인터널
PostgreSQL이 내부에서 어떻게 동작하는지, 프로세스 구조부터 복제와 쿼리 처리까지 순서대로 살펴봅니다.
뒤의 개념이 앞의 개념 위에 쌓이도록 순서를 잡았습니다. 처음 읽는다면 1편부터 차례대로 읽는 것을 권합니다.
- 1 프로세스 구조postmaster, backend, 백그라운드 프로세스들의 역할
- 2 메모리 구조shared buffers, work_mem, WAL buffers
- 3 데이터 저장 구조페이지 레이아웃, 튜플 구조, TOAST
- 4 MVCCxmin/xmax, 스냅샷, 튜플 가시성 판단
- 5 VACUUM과 Autovacuumdead tuple, FSM, Visibility Map
- 6 트랜잭션 ID wraparound왜 생기고 어떻게 막는가
- 7 WALLSN, full page writes, WAL 레코드 구조
- 8 체크포인트와 장애 복구 과정체크포인트가 하는 일과 장애 후 복구가 진행되는 순서, PITR의 원리
- 9 스트리밍 복제와 Replication Slotwalsender와 walreceiver, 동기 복제, hot standby 충돌, replication slot
- 10 쿼리 처리 과정파서, 분석기, 리라이터, 플래너, 실행기와 통계 정보