데이터베이스/PostgreSQL

[PostgreSQL] pg_restore 사용법

an_apricot__ 2025. 3. 2. 16:50

📌 pg_restore 란?

- PostgreSQL의 백업 파일(DUMP 파일)을 복원할 때 사용하는 명령어

- pg_dump로 생성된 백업 파일을 특정 데이터베이스에 복원하거나, 백업 파일의 내용을 확인할 때 사용


1. 공통적으로 사용되는 pg_restore 옵션

-d 복원할 데이터베이스 이름 (필수)
-U PostgreSQL 사용자 이름 (예: postgres)
-v 복원 과정 상세 출력 (Verbose)
--schema-only 스키마만 복원 (테이블 구조)
--data-only 데이터만 복원
-l 백업 파일 내부 목록 확인 (리스트)
-f - 출력 결과를 표준 출력으로 표시 (파일로 저장 안 함)

2. pg_restore 사용법

🔹 0. PostgreSQL이 설치된 bin 폴더에서 실행

cd "C:\Program Files\PostgreSQL\17\bin"

 

🔹 1. 백업 파일의 내부 목록 확인

pg_restore -l "C:\backup\backup.dump"

 

🔹 2. 테이블 구조(DDL)만 확인

pg_restore --schema-only -f - "C:\backup\backup.dump"

 

🔹 3. 데이터만 확인

pg_restore --data-only -f - "C:\backup\backup.dump"

 

🔹 4. 임시 DB에 복원 후 확인

pg_restore -U postgres -d temp_db -v "C:\backup\backup.dump"

 


3. 기타

🔹 -C 옵션: 백업 파일에 포함된 데이터베이스 생성 명령어도 함께 실행 (CREATE DATABASE)

🔹 -n schema_name: 특정 스키마만 복원

🔹 -t table_name: 특정 테이블만 복원

🔹 --clean: 기존 테이블/스키마를 먼저 삭제하고 복원 (초기화 용도)