📊DB/PostgreSQL

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

Diven 2026. 3. 23. 12:30

✅ 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 뜻

옵션설명

-F pg_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