백업 매니페스트 형식
백업 매니페스트 형식 (Backup Manifest Format)
pg_basebackup으로 백업을 만들면, 그 백업이 온전한지 확인하기 위한 요약 파일이 하나 딸려 나와요. 그것이 백업 매니페스트(Backup Manifest)예요. 사실 이 파일은 pg_verifybackup으로 백업을 검증하기 위해 만들어지지만, 다른 도구가 이 파일을 읽어 자기 목적에 활용할 수도 있어요. 이번에는 그 매니페스트 파일이 어떤 형식으로 쓰이는지 살펴볼게요.
출처: 공식문서
JSON 문서 하나, 그게 전부예요
백업 매니페스트는 UTF-8로 인코딩된 하나의 JSON 문서예요. PostgreSQL은 보통 json·jsonb 타입을 서버 인코딩과 무관하게 쓸 수 있게 허용하지만, 백업 매니페스트에는 그런 예외가 없어요. 반드시 UTF-8이어야 해요.
JSON 문서는 항상 하나의 객체(object)이며, 이 객체에 들어 있는 키들은 다음 섹션에서 설명해요.
- 백업 매니페스트 최상위 객체 — 매니페스트 문서 전체가 담고 있는 키
- 백업 매니페스트 파일 객체 — 백업에 포함된 각 파일을 설명하는 객체
- 백업 매니페스트 WAL 범위 객체 — 백업을 쓰기 위해 필요한 WAL 레코드 범위
왜 JSON 형식인가
형식이 공개적이고 구조화되어 있다 보니, pg_verifybackup뿐 아니라 다른 도구들도 매니페스트를 읽고 필요한 정보를 얻을 수 있어요. 특히 문서의 각 부분이 명확한 객체 단위로 나뉘어 있어서, 파싱 도구를 만들기도 수월하답니다.
더 알아보기 (Learn more)
- 매니페스트의 최상위 객체와 각 키: Section 70.1
- 개별 파일을 설명하는 객체: Section 70.2
- WAL 범위를 설명하는 객체: Section 70.3