요약
- (윈도우 기준) 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
참고사이트