백업 매니페스트 파일 객체

백업 매니페스트 파일 객체 (File Object)

백업 매니페스트의 Files 목록에는 백업에 포함된 파일 하나하나를 설명하는 객체들이 나열돼요. 이 객체는 파일의 경로를 어떻게 표현할지, 크기와 수정 시각을 담고, 파일 체크섬 기능이 켜져 있으면 검증에 필요한 체크섬 정보까지 함께 담아요. 어떤 키가 언제 들어오는지 짚어 볼게요.

출처: 공식문서

어떤 파일인지: Path / Encoded-Path

파일 객체는 파일을 가리키는 키로 PathEncoded-Path 둘 중 하나를 가져요.

  • Path — 보통은 이 키가 붙어요. 값은 백업 디렉터리 루트를 기준으로 한 상대 경로 문자열이에요. 사용자 정의 테이블스페이스에 있는 파일이라면 경로의 처음 두 구성 요소가 pg_tblspc와 해당 테이블스페이스의 OID가 돼요.
  • Encoded-Path — 경로가 UTF-8로 표현할 수 없는 문자열이거나, 사용자가 모든 파일에 대해 인코딩된 경로를 요청한 경우 이 키가 대신 붙어요. 같은 데이터를 담지만, 16진수 문자열로 인코딩돼요. 문자열에서 두 자리의 16진수 쌍 하나가 한 바이트(octet)를 나타내요.

항상 있는 두 키

아무 조건 없이 항상 붙는 키는 두 개예요.

  • Size — 이 파일의 예상 크기(정수)예요.
  • Last-Modified — 백업 시점에 서버가 보고한 파일의 마지막 수정 시각이에요. 백업에 저장되는 다른 필드와 달리, 이 값은 pg_verifybackup이 검증에 쓰지 않아요. 정보 제공 목적에서만 포함되는 값이에요.

파일 체크섬이 켜져 있을 때 추가되는 키

파일 체크섬(file checksums)을 켠 상태에서 백업을 만들었다면, 아래 두 키도 추가돼요.

  • Checksum-Algorithm — 이 파일의 체크섬을 계산하는 데 쓴 알고리즘이에요. 현재는 백업 매니페스트의 모든 파일이 같은 알고리즘을 쓰지만, 향후 버전에서는 달라질 수 있어요. 지금 지원되는 알고리즘은 CRC32C, SHA224, SHA256, SHA384, SHA512예요.
  • Checksum — 이 파일에 대해 계산된 체크섬으로, 16진수 문자 나열로 저장돼요. 체크섬의 바이트 하나당 16진수 두 자리가 필요해요.

더 알아보기 (Learn more)

  • 최상위 객체와 Files 키의 구조: Section 70.1
  • 파일 체크섬을 켜는 방법: initdb / pg_checksums
  • 매니페스트로 백업 검증하기: pg_verifybackup