PostgreSQL은 우선 Active- Active로 HA 구성이 불가능하며, Active- Active 운영 난이도가 매우 높아서 보통 Active-Stanby로 HA를 구성한다.
pgpool + watchdog는 PostgreSQL을 고가용성(HA)으로 운영하기 위한 구성이다.
- pgpool: PostgreSQL 앞단에 놓이는 미들웨어로, DB 연결 관리·로드밸런싱·실시간 복제 감지를 담당.
- watchdog: pgpool 노드끼리 서로 생존 여부를 감시하고, 장애 발생 시 자동 Failover와 VIP 전환을 수행.
Streaming Replication
Primary(DB 메인)가 생성한 WAL 로그를 Standby(DB 대기)가 실시간으로 받아 적용해 데이터를 계속 동일하게 유지하는 복제 방식
Failover
Primary 서버가 장애로 죽었을 때, Standby를 자동으로 Primary로 승격해서 서비스가 계속되도록 하는 동작
Failover는 pgpool + watchdog이 수행
- watchdog → pgpool 노드들끼리 장애 감지 + 리더 선출
- pgpool → Standby를 Primary로 승격 + VIP 이동
Online Recovery
죽었던 DB 노드를 최신 데이터로 재동기화해 Standby로 복귀시키는 작업
- pgpool이 recovery 스크립트를 실행
- watchdog은 “노드 살아남 감지”까지만 담당
⭐ HA 용어 정의
| 용어 | 역할 | 목적 |
| Streaming Replication | 데이터 실시간 복제 | Standby를 최신 상태로 유지 |
| Failover | Standby → Primary 승격 | 장애 시 서비스 지속 |
| Online Recovery | 복구된 노드 재동기화 | 클러스터 구조 복원 |
⭐ 기능별 수행 주체
| 기능 | 실제 수행 주체 |
| Streaming Replication | PostgreSQL |
| Failover | pgpool + watchdog |
| Online Recovery | pgpool (스크립트 실행) |
| 노드 생존 감시 / 투표 | watchdog |
'DB > Postgresql' 카테고리의 다른 글
| Postgresql DB 백업 및 복구하여 서버 이전하는 방법 (0) | 2026.01.10 |
|---|