증분 백업 미세 조정하기
작성자: 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 증분 백업에서 얻은 교훈
이번 사례는 두 가지 중요한 교훈을 줍니다.
- 새로운 기능 도입 시, 실제 마찰 지점을 예측하기 어렵다.
- PostgreSQL 핵심 개발자와 도구 제작자 간 협업은 필수적이다.
결국, 이러한 협업을 통해 PostgreSQL 사용자 경험은 계속해서 발전하게 될 것입니다.
📌 핵심 요약
결과: 효율적이고 저렴한 증분 백업 관리와 복원 가능
PostgreSQL 17: 증분 백업 기능 도입
barman 3.11.0: 증분 백업 엔진 지원
PostgreSQL 18: pg_combinebackup --link
옵션 추가