-
Generated Column (Computed Column)
2026-02-25
Generated Column은 다른 컬럼 값으로부터 `GENERATED ALWAYS AS (expression) STORED|VIRTUAL` 구문으로 자동 계산되는 컬럼이며, Stored는 디스크에 저장(쓰기 시…
-
죽은 튜플(Dead Tuple)
2026-02-21
Dead Tuple은 UPDATE/DELETE로 무효화되었지만 물리적으로 디스크에 남아 있는 행으로, MVCC의 부산물이다.
-
GIN 인덱스(GIN Index)
2026-02-20
GIN(Generalized Inverted Index)은 하나의 컬럼에 여러 값이 들어있는 데이터 타입(배열, JSONB, tsvector)을 효율적으로 검색하기 위한 역색인(Inverted Index) 구조이다.
-
MVCC (Multi-Version Concurrency Control)
2026-02-15
PostgreSQL은 데이터를 수정할 때 기존 행을 덮어쓰지 않고 새 버전을 만들어, 읽기와 쓰기가 서로를 차단하지 않는 동시성 제어(MVCC)를 구현한다.
-
PostgreSQL 아키텍처
2026-02-15
PostgreSQL은 멀티프로세스 모델로 동작하며, Postmaster가 클라이언트 연결마다 Backend 프로세스를 fork하고, 백그라운드 프로세스들이 WAL 기록·체크포인트·VACUUM 등을 처리한다.
-
공유 메모리와 버퍼 풀(Shared Buffer)
2026-02-15
Shared Buffer는 PostgreSQL이 디스크 I/O를 줄이기 위해 직접 관리하는 메모리 캐시로, 모든 읽기/쓰기가 이 버퍼를 경유하며, Clock Sweep 알고리즘으로 페이지를 교체한다.
-
WAL(Write-Ahead Logging)
2026-02-15
WAL은 데이터를 변경하기 전에 변경 내용을 먼저 로그에 기록하는 메커니즘으로, 장애 복구·성능 향상·복제·PITR의 기반이 된다.