[PostgreSQL] 백업 방법 - 파일 시스템 백업 방법

참고


개요

  • PostgreSQL 에서 제공하는 백업 방법에 대해서 조사 및 PoC 진행합니다.

파일 시스템 백업 방법

  • 파일 시스템 백업 방법은 말 그대로 데이터파일을 압축해서 백업하는 방식입니다.
  • 백업 전 PostgreSQL 을 중지 해야 합니다.
> tar -cvzf PostgreSQL.tar.gz /var/lib/postgresql


파일시스템 복원 방법

  • 압축한 파일을 PostgreSQL 데이터경로에 풀어줍니다.
  • 이후에 Database 를 재구동 합니다.
  • 만약, 복원경로가 변경되는 경우에는 pg_ctl 명령러를 사용하여 기본 디렉터리를 변경해 줍니다.
> tar -xvzf PostgreSQL.tar.gz -C /var/lib/postgresql

파일 시스템 백업 방식의 단점

  • 파일 시스템을 정상적으로 백업받기 위해서는, 반드시 데이터베이스 서버를 중지해야 합니다.
  • 모든 클라이언트 접속을 막더라도, tar 명령이 파일 시스템의 단위적 스냅샷을 지원하지 않으며 서버에서 사용하는 버퍼에 대한 정보도 정확하게 반영할 수 없기 떄문입니다.
  • 특정 데이터베이스에 사용하는 파일만 백업을 받고 싶어도, 트랜잭션 커밋과 같이 공통파일로 관리되고 있는 파일 때문에 부분 백업이 불가능합니다. (무조건 전체 백업 진행 해야 함)

파일 시스템 백업 방식의 주의점

  • 만약 파일시스템에서 스냅샷 기능을 완벽하게 제공한다면(tar 하는 순간 시점을 기억), 데이터베이스 서버가 운영 중일 때도 백업이 가능합니다.
  • 다만 이 경우에는 운영 중 상태에서 백업이 진행되었기 때문에, 백업 시점은 운영 시점의 이전 시점이 됩니다.
  • 따라서 백업존으로 서버를 실행하려는 경우 현재 구성된 파일들을 정리해야 합니다.
  • 만약 백업 시작 전에 CHECKPOINT 명령을 실행했고, 백업 작업 중간에 생긴 WAL 로그 파일을 보관하고 있다면 이 WAL 로그 파일을 사용하여 최신 시점으로 복구가 가능합니다.

728x90

이 글을 공유하기

댓글

Designed by JB FACTORY