PostgreSQL 서버 이전: pg_dump/pg_restore 활용
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

PostgreSQL 데이터베이스를 다른 서버로 이전하는 방법

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

DevOps

대상자

  • 시스템 관리자 및 개발자
  • 중간 수준의 기술 지식을 가진 사용자 (명령어 기반 도구 사용, 데이터베이스 이전 경험 필요)

핵심 요약

  • pg_dumppg_restore 도구를 사용한 논리적 백업 및 복원이 주요 방법
  • 데이터 무결성 보장을 위해 이전 전 백업을 수행하고, 호환성 확인 필수
  • Ubuntu 22.04 환경에서의 구체적 명령어 예시 포함 (pg_dump -Fc -b -v -f backup.dump dbname)

섹션별 세부 요약

1. 이전 방법 개요

  • PostgreSQL의 내장 도구(pg_dump, pg_restore)로 데이터베이스 이전 가능
  • 물리적 복제(Physical Replication)와 논리적 복제(Logical Replication) 두 가지 주요 방법 존재
  • 이전 전 데이터베이스 버전, 설정 파일, 사용자 권한 일치 여부 검증 필요

2. 논리적 이전 단계

  • 1단계: 백업 생성
  • pg_dump 명령어로 데이터베이스 덤프 파일 생성 (pg_dump -Fc -b -v -f backup.dump dbname)
  • 2단계: 덤프 파일 이전
  • 생성된 파일을 목적지 서버로 복사 (scp, rsync 등)
  • 3단계: 복원 실행
  • pg_restore로 덤프 파일을 목적지 서버에 적용 (pg_restore -Fc -d dbname backup.dump)

3. 물리적 복제 방법

  • 데이터 디렉토리 복사로 이전 가능 (기본 설정 파일(postgresql.conf)과 복구 설정(recovery.conf) 조정 필요)
  • 이전 서버의 데이터 디렉토리(pgdata)를 목적지 서버로 복사
  • 목적지 서버에서 recovery.conf 파일에 원본 서버 정보 입력 후 재시작

4. 호환성 및 이슈 대응

  • PostgreSQL 버전 호환성 확인 (예: 12→13 이전 시 pg_upgrade 사용)
  • 이전 후 인덱스, 시퀀스, 권한 재검증
  • 대규모 데이터베이스의 경우 분할 백업 및 병렬 복원 권장

결론

  • pg_dump/pg_restore를 사용한 논리적 이전이 간단하고 안정적인 방법임
  • 이전 전 호환성 검증이전 후 데이터 무결성 검증 필수
  • 대규모 데이터베이스의 경우 분할 백업병렬 복원 전략 적용 권장