Replication은 primary 데이터베이스에서 하나 이상의 replica(standby) 서버로 데이터를 복사합니다 — 고가용성(primary 실패 시 failover)과 읽기 확장(읽기 쿼리 분산)을 위해서입니다. PostgreSQL은 주로 write-ahead log(WAL)에 기반한 streaming replication(물리적)을 사용합니다.
Streaming (물리적) replication
Primary ──(WAL 스트리밍: 변경의 write-ahead log)──▶ Replica(들)
✓ primary가 모든 쓰기 처리
✓ replica가 primary의 WAL을 지속 적용 → 동기 유지 (거의 실시간)
✓ replica가 읽기 쿼리 서비스 가능 ("hot standby") → 읽기 확장
primary는 (write-ahead log — 모든 변경의 기록)을 replica로 스트리밍하고, replica는 이를 적용하여 동기 상태를 유지합니다. replica는 읽기 쿼리를 서비스할 수 있는 읽기 전용 복사본입니다.
