Postgresql/백업 및 복구

postgresql 백업 툴 종류

dbavayne 2025. 3. 10. 11:32

1. pgBackRest

  • 설명: PostgreSQL 전용 오픈소스 백업 및 복구 도구로, 병렬 백업, 압축, 암호화, 증분 백업을 지원합니다.
  • 주요 특징:
    • 풀(Full), 증분(Incremental), 차등(Differential) 백업 지원.
    • WAL 아카이빙 및 Point-in-Time Recovery (PITR) 가능.
    • 로컬 파일 시스템, S3, SFTP 등 다양한 스토리지 백엔드 지원.
    • 병렬 처리를 통해 대규모 데이터베이스 백업 속도 향상.
  • 장점:
    • 설정이 직관적이고 문서화가 잘 되어 있음.
    • WAL-G보다 더 다양한 백업 전략(증분/차등) 제공.
    • 성능 최적화에 강력.
  • 단점:
    • WAL-G보다 설정이 약간 더 복잡할 수 있음

2. Barman (Backup and Recovery Manager)

  • 설명: 2ndQuadrant에서 개발한 PostgreSQL 백업 및 복구 관리 도구로, 주로 엔터프라이즈 환경에서 사용됩니다.
  • 주요 특징:
    • 물리적 백업(파일 시스템 기반) 및 WAL 아카이빙 지원.
    • PITR 및 원격 복구 가능.
    • 백업 서버와 데이터베이스 서버를 분리해 관리 가능.
    • 백업 무결성 검증 및 카탈로그 관리 기능.
  • 장점:
    • 원격 백업 서버 설정에 최적화.
    • GUI 대시보드(Barman Cloud)를 통해 모니터링 가능.
    • 안정적이고 신뢰성 높음.
  • 단점:
    • WAL-G나 pgBackRest에 비해 병렬 처리 기능이 약함.
    • 클라우드 스토리지 통합이 다소 제한적.

 

3. pg_basebackup

  • 설명: PostgreSQL에 내장된 기본 백업 도구로, 물리적 백업을 생성합니다.
  • 주요 특징:
    • PostgreSQL 설치 시 기본 제공.
    • 풀 백업만 지원하며, WAL 파일과 함께 PITR 가능.
    • 로컬 또는 원격 백업 가능.
  • 장점:
    • 별도 설치 필요 없음.
    • 간단한 사용법으로 초보자에게 적합.
  • 단점:
    • 증분 백업이나 압축 기능 없음.
    • 대규모 데이터베이스에서 비효율적.
    • WAL-G처럼 클라우드 스토리지와의 통합 없음.

 

4. Patroni (with built-in backup support)

  • 설명: PostgreSQL 고가용성(HA) 솔루션으로, 백업 관리 기능도 포함할 수 있습니다. 주로 pgBackRest나 WAL-G와 통합 사용.
  • 주요 특징:
    • HA 클러스터 관리에 초점.
    • 백업 도구와 통합해 자동화된 백업 스케줄링 가능.
  • 장점:
    • HA와 백업을 한 번에 관리 가능.
    • 대규모 분산 환경에 적합.
  • 단점:
    • 단독 백업 도구로 사용하기보다는 보조 역할.
    • 설정이 복잡할 수 있음.
  • 사용 예시:
    • Patroni 설정 파일에 pgBackRest 또는 WAL-G 통합 필요.

 

5. Restic (with PostgreSQL integration)

  • 설명: 범용 백업 도구로, PostgreSQL과 통합해 사용할 수 있습니다.
  • 주요 특징:
    • 증분 백업 및 중복 제거 지원.
    • S3, Backblaze B2, SFTP 등 다양한 스토리지 지원.
    • PostgreSQL 백업은 pg_dump나 물리적 백업과 결합 필요.
  • 장점:
    • 범용성이 높아 다른 시스템 백업과 통합 가능.
    • 암호화 및 압축 기본 제공.
  • 단점:
    • PostgreSQL 전용이 아니므로 추가 스크립트 작업 필요.
    • WAL 아카이빙 직접 지원 없음.

 

6. pg_dump / pg_dumpall

  • 설명: PostgreSQL 내장 논리적 백업 도구로, 데이터베이스 스키마와 데이터를 SQL 형식으로 덤프합니다.
  • 주요 특징:
    • 논리적 백업(Logical Backup)만 지원.
    • 특정 데이터베이스(pg_dump) 또는 전체 클러스터(pg_dumpall) 백업.
  • 장점:
    • 설치 필요 없음.
    • 데이터 마이그레이션이나 테스트 환경에 유용.
  • 단점:
    • 물리적 백업 및 PITR 불가.
    • 대규모 데이터베이스에서 느리고 비효율적.