PostgreSQL DB Dump 방식으로 다운그레이드 가이드

✅ 1단계: PostgreSQL 17 클라이언트 설치

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo dnf -qy module disable postgresql
sudo dnf install -y postgresql17

✅ 2단계: 백업 (pg_dump 사용) – 17버전

export PGPASSWORD='password'

/usr/pgsql-17/bin/pg_dump \
  -h 192.168.3.72 \
  -p 5432 \
  -U DB-User \
  -d NineMemos_Dev_BC_01 \
  -Fc \
  -v \
  -f ~/NineMemos_Dev_BC_01_pg17.dump

✅ -Fc 뜻

옵션설명
-Fpg_dump의 output format(출력 형식) 지정 옵션
c**custom format (커스텀 형식)**의 약자입니다.

✅ 왜 Fc를 써?


커스텀 형식은 다음과 같은 장점이 있어서 실무에서 가장 많이 사용되는 방식입니다.

장점설명
✅ pg_restore로 복원 가능백업 중 일부 테이블만 복원하거나 병렬 복원(–jobs) 가능
✅ 압축 지원기본적으로 압축된 상태로 저장됨
✅ 유연한 복원특정 스키마, 테이블, 함수만 선택적으로 복원 가능

✅ 3단계: PostgreSQL 14 클라이언트 설치

sudo dnf install -y postgresql14

✅ 4단계: 복원 (pg_restore 사용)

백업을 17버전으로 했다면, 복원도 17버전으로 하는게 좋다(권장)

export PGPASSWORD='password'

/usr/pgsql-14/bin/pg_restore \
  -h [14.17-RDS-엔드포인트] \
  -p 5432 \
  -U DB-User \
  -d NineMemos_Dev_BC_01 \
  ~/NineMemos_Dev_BC_01_pg17.dump

댓글

댓글 남기기