📌 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: 기존 테이블/스키마를 먼저 삭제하고 복원 (초기화 용도)