증분 백업 미세 조정하기

작성자: Robert M. Haas | 2025년 9월 18일

PostgreSQL 17에서 도입된 증분 백업은 많은 기대를 받았지만, 실제 활용에서는 관리와 스테이징 측면에서 몇 가지 문제를 드러냈습니다. PostgreSQL 18에서는 이를 개선하기 위한 중요한 업데이트가 추가되었습니다.


PostgreSQL 증분 백업 관리 문제

pg_basebackup은 백업을 생성할 수 있지만, 보존 정책이나 저장 위치 관리를 제공하지는 않습니다.
따라서 barman 같은 전문 백업 관리 도구가 필요합니다.

문제는 증분 백업이 이전 백업 체인에 의존한다는 점입니다. 수동 관리 시 오류 가능성이 매우 높습니다. 다행히, barman 3.11.0부터 PostgreSQL 증분 백업 엔진을 공식 지원하면서 이러한 문제를 해결할 수 있게 되었습니다.


백업 스테이징의 새로운 과제

증분 백업 복원에는 pg_combinebackup 도구가 필요합니다. 이 과정에서 모든 관련 백업이 같은 머신에 존재해야 하며, 대량의 데이터 이동이 발생할 수 있습니다.

더 큰 문제는 pg_combinebackup이 항상 새로운 데이터 디렉터리를 생성하고 파일을 복사한다는 점이었습니다. 만약 입력 디렉터리나 출력 디렉터리가 임시 용도로만 쓰이고 곧 삭제된다면, 이는 매우 비효율적입니다.


PostgreSQL 18의 --link 옵션 도입

이 문제를 해결하기 위해, PostgreSQL 18에서는 --link 옵션이 새롭게 추가되었습니다.
이는 pg_upgrade에서 사용되던 방식과 유사하며, 파일 복사를 최소화해 비용과 시간을 절약합니다.

앞으로 barman 팀은 이 옵션을 적극 활용할 계획이며, 이를 통해 PostgreSQL 18 이상을 사용하는 경우 훨씬 저렴하고 효율적인 증분 백업 복원이 가능해집니다.


PostgreSQL 증분 백업에서 얻은 교훈

이번 사례는 두 가지 중요한 교훈을 줍니다.

  1. 새로운 기능 도입 시, 실제 마찰 지점을 예측하기 어렵다.
  2. PostgreSQL 핵심 개발자와 도구 제작자 간 협업은 필수적이다.

결국, 이러한 협업을 통해 PostgreSQL 사용자 경험은 계속해서 발전하게 될 것입니다.


📌 핵심 요약

결과: 효율적이고 저렴한 증분 백업 관리와 복원 가능

PostgreSQL 17: 증분 백업 기능 도입

barman 3.11.0: 증분 백업 엔진 지원

PostgreSQL 18: pg_combinebackup --link 옵션 추가

메일: salesinquiry@enterprisedb.com