💿수동 Dump&Restore 방법

■ Dump 및 Restore 방법

  1. CMD 관리자 권한 실행

  1. 아래 명령어 입력 - CMD에서 실행

cd C:\Program Files\PostgreSQL\14\bin

  1. 아래 명령어 입력(Dump 진행) - CMD에서 실행

전체, 특정 테이블만, 특정 테이블 제외 중 상황에 맞는 명령어를 사용 해야 합니다.

전체 dump 방법
pg_dump -U edba -d ysr2000 -p 5432 -v -Fc -f C:\Dump\pg_all_dump.dump
특정 테이블 제외하고 전체dump 방법

"테이블명" 에 원하는 테이블을 입력하면 됩니다. (대소문자 구별함)

pg_dump -U edba -d ysr2000 -p 5432 -v -Fc --exclude-table=dba."테이블명" -f C:\Dump\pg_all_dump.dump
특정 테이블만 dump 방법

"테이블명" 에 원하는 테이블을 입력하면 됩니다. (대소문자 구별함)

pg_dump -U edba -d ysr2000 -p 5432 -v -Fc -t dba."테이블명" -f C:\Dump\pg_dump_table.dump

  1. 아래 명령어 입력 - pgadmin에서 실행

덤프 데이터베이스 생성

(특정 테이블만 복원인 경우만) 스키마 생성성

  1. 아래 명령어 입력(Restore 진행) - CMD에서 실행

가) 전체 복원, 특정 테이블 제외 복원인 경우

나) 특정 테이블만 복원인 경우

  1. Data/postgresql.conf 에서 listen_addresses 검색 후 주석 처리(앞에 #을 붙임)

  1. 서버 재시작

  1. 윈도우 검색창에 psql 검색하여 실행

  1. 아래처럼 입력

  1. ysr2000=# 나오면 도스창에 아래 쿼리 실행 후 도스창 닫기(기존 데이터베이스 이름 변경)

  1. 윈도우 검색창에 psql 검색하여 실행

  1. 아래처럼 입력

  1. ysr2000=# 나오면 도스창에 아래 쿼리 실행 후 도스창 닫기(덤프 데이터베이스 이름 변경)

  1. 6번에서 진행했던 postgresql.conf 에서 주석 처리 원복

  1. 데이터 이상 없는지 확인

환자 접수부터 수납 테스트, 오류 났던 부분 재현 등..

  1. (이상 없으면) 기존 데이터베이스 삭제 - pgadmin에서 실행

아래 쿼리 실행

  1. (필요하다면) Dump할 때 제외한 테이블 복구 작업 진행

테이블 생성은 전부 다해주고,

데이터 작업은 필요한 경우에만 Export&Import 작업으로 백업DB나 손상된DB에서 최대한 추출 후 삽입


추가 개발 사항(w/DB구조개선팀)

계정 직접 입력하지 않고 Dump&Restore 가능하도록 방안 고려

Last updated