개발공작소
article thumbnail
728x90

보통 데이터베이스 작업을 할 때 데이터가 날아갔을 때를 대비해, 데이터베이스를 덤프 받아 놓는다

오늘은 Postgres에서 특정 데이터베이스를 백업 받아보고, 새로 생성한 데이터베이스에 복제 해보자.

 

DB를 백업 받고, 원복하는 방법은 2가지가 있다.

 

첫번째. pgAdmin4를 활용하는 방법.

두번째. CMD창을 이용하여 pg_dump명령어를 활용하는 방법.

 

오늘은 두번째 방법을 통해 DB백업과 원복을 해보자.

 

1. 데이터베이스 백업

============================================================================

명령어

pg_dump --username=[DB 유저명] [DB명] 
pg_dump --username=[DB 유저명] [DB명] > 경로 -- 필요시 경로 입력

이렇게만 하면 된다. Port번호가 Default인 5432가 아니라면 포트번호도 작성해줘야 한다.  작성해주지 않으면

포트번호가 맞지 않는다는 경고문이 뜰 것이다.

 

나 같은 경우는 포트번호를 5433으로 설정해놓았었기 때문에, 아래와 같이 명령문을 작성하였다.

pg_dump -p 5433 --username=postgres postgres2 -- 기본 명령어
pg_dump -p 5433 --username=postgres postgres2 > D:\postgres_backup.sql
pg_dump -p 5433 --username=postgres postgres2 > D:\postgres_backup.dump

가운데 보면 -p 5433이 들어갔다. 이렇게 실행하면 덤프가 떠진다.

나는 sql파일과 dump파일 2개를 백업 받아보았다.

정상적으로 파일이 생성 된 모습

 

2. 데이터베이스 복제하기

============================================================================

명령어

psql –-username=username –f <데이터베이스덤프파일명> <데이터베이스명>

나는 postgres2에서 덤프를 땄고 이것을 postgres3라는 데이터베이스에 복제하려 한다. 입력한 실제 명령어는 아래와

같다.

-- 포트번호가 default가 아니라 따로 입력해주었음 -p 5433
psql -p 5433 -—username=postgres –f D:\postgres_backup.sql postgres3

결과화면은 아래와 같다.

 

이제 DBeaver를 통해서 보면 복제한 스키마와 테이블이 잘 들어 간 것을 확인 할 수 있다.

 

728x90
profile

개발공작소

@모찌바라기

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!