YunSeop's TIL / postgresql

postgresql

7 TILs
  • 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의 기반이 된다.
YunSeop's TIL