내 잡다한 노트

pg_rewind 란? 본문

DB/PostgreSQL

pg_rewind 란?

peanutwalnut 2025. 2. 13. 22:30

pg_rewind는 PostgreSQL에 내장된 유틸리티로,
실패한 이전 primary 서버의 데이터 디렉터리와 현재 새로운 primary 서버의 데이터 디렉터리 간의 차이를 계산하여,
이전 primary 서버를 신속하게 동기화(리와인드)할 수 있도록 도와줍니다.

주요 기능 및 사용 목적

  • 빠른 재동기화:
    기존 primary가 장애로 인해 다운된 후, 새로운 primary로 선출된 서버와 데이터가 약간씩 달라진 상태일 때,
    pg_rewind를 사용하면 전체 데이터베이스의 베이스백업을 다시 만드는 대신,
    변경된 부분만 빠르게 동기화할 수 있습니다.
  • 복구 효율성:
    데이터 복제 지연이나 장애 복구 시, 전체 클러스터를 재구성하는 시간과 리소스를 절약할 수 있습니다.
  • 클러스터 페일오버 후 복원:
    예를 들어, Patroni와 같은 HA 솔루션에서 primary 장애 발생 후 자동 페일오버가 진행되면,
    기존의 primary 노드는 pg_rewind를 사용하여 새로운 primary와 동일한 상태로 복구할 수 있습니다.

요약하면, pg_rewind는 PostgreSQL 클러스터 환경에서 장애 복구 및 노드 재동기화 작업을 신속하고 효율적으로 수행하기 위한 도구입니다.

'DB > PostgreSQL' 카테고리의 다른 글

Pigsty 란?  (0) 2025.02.15
Patroni 설정 파일  (0) 2025.02.13
Citus를 왜 사용해야하는가?  (0) 2025.02.12
PostgreSQL Citus  (0) 2025.02.12
PostgreSQL의 HA를 위해 설계된 Patroni  (0) 2025.02.12