요약

  • (윈도우 기준) Postgresql이 설치된 폴더 중 bin 경로에서 작업
  • pg_dump: DB 내 정보를 복사
  • pg_restore: 복사된 파일을 복원

1. 옵션

1) 기본 옵션

옵션설명
-f출력 파일 이름
-F출력 파일 형식(사용자 지정, tar, 일반 텍스트)
-v세부 정보 표시 모드
-Z압축 형식의 압축 수준

2) 출력 내용 옵션

옵션설명
-a (--data_only)스키마 빼고 자료만 덤프
-b(--blobs)
-c
-C
-E = --encoding=인코딩지정한 인코딩으로 자료 덤프
-n = --schema=스키마명지정한 스키마명들 자료만 덤프
-N = --exclude_schema=스키마명지정한 스키마명들 제외한 자료만 덤프
-o
-O
-s
-S
-t
-T
-x

3) 연결 옵션

옵션설명

2. 복제(pg_dump)

1) 옵션

  • --data_only: PK 및 Index 와 같은 메타데이터는 제외하고 복사
  • -Fc: 복사한 결과물을 .sql파일이 아닌 .dump 파일로 저장하는 경우 사용
    • 복제할 결과물이 많은 경우 쿼리문 열지 못함

2) 데이터베이스 전체

pg_dump -h [호스트명] -p [포트] -U [유저명] -d [DB명] -n

  • 해당 데이터베이스 내 모든 스키마 및 테이블을 특정 경로에 .dump 파일로 저장
pg_dump -h host_server -p 5432 -U postgres -d database -n --encoding=UTF8 -Fc > C:/Users/BV-HYUNHAEJUN/Documents/tb_bigvalue_price_info_copy.dump

3) 스키마 전체

pg_dump -h [호스트명] -p [포트] -U [유저명] -d [DB명] -n [스키마명]

  • -n: 스키마 전체
  • 해당 DB에 porfolio내 모든 정보(PK 및 Index)를 특정 경로에 .dump 파일로 저장
pg_dump -h postgres -p 5432 -U postgres -d database -n portfolio --encoding=UTF8 -Fc > C:/Users/BV-HYUNHAEJUN/Documents/tb_bigvalue_price_info_copy.dump

4) 스키마 내 특정 테이블

pg_dump -h [호스트명] -p [포트] -U [유저명] -d [DB명] -t [스키마명].[테이블명]

  • -t: 스키마 내 특정 테이블(주의: 스키마명까지 입력)
  • portfolio 스키마 내 tb_daily_balance_main 테이블 중 메타데이터는 제외하여 특정 경로에 .dump 파일로 저장
pg_dump -h postgres -p 5432 -U postgres -d database -t portfolio.tb_daily_balance_main encoding=UTF8 --data-only -Fc > C:/Users/BV-HYUNHAEJUN/Documents/tb_bigvalue_price_info_copy.dump

3. 복원(pg_restore)

1) 스키마 전체

주의사항

  • 스키마 전체를 복원하는 경우, DB 내에 해당 스키마가 없어야함!!
  • 스키마 전체: pg_restore -h [호스트명] -p [포트] -U [유저명] -d [DB명] -n [스키마명] [파일경로]
  • 해당 DB에 etc 라는 스키마를 전체 복원
pg_restore -h host_server -U postgres -p 5432 -d database -n etc C:/Users/BV-HYUNHAEJUN/Documents/리뉴얼_운영서버_복제/etc_copy.dump

2) 스키마 내 특정 테이블

DB 및 스키마 존재해야함

pg_restore -h [호스트명] -p [포트] -U [유저명] -d [DB명] -n [스키마명]-t [테이블명]

pg_restore -h data-api-sv.c0gqj5ketijm.ap-northeast-2.rds.amazonaws.com -U postgres -d api -n bv_platform -t tb_bv_platform_space_key -v -Fc C:/Users/BV-HYUNHAEJUN/Documents/space_key.dump

참고사이트