본문 바로가기
DEV/연구목록

[연구목록] (Linux & Docker) DB Dump 파일 생성하고 파일 이동시키기

by Rising One★ 2023. 1. 16.
728x90
반응형
SMALL

postgreSQL 대표로고

 

필요성

 

 어느 프로젝트에 대해 로컬에 DB 관련 정보를 남겨두지 않은 채 작업을 하다가, (더 자세히는 로컬에 남겨진 DB정보가 그 어디에도 없는 상태에서) Dbeaver를 통해 붙어놓은 DB 정보에 의존하며 작업을 해왔습니다. 그런 상황이 지속이 되고, 어느덧 Dbeaver에 붙어놓은 DB 정보에 문제가 발생해 더 이상 접근이 불가한 상황에 맞닥뜨렸습니다. 그렇게 DB 정보를 몽땅 날릴 위기에 처해본 결과, 남은 타 프로젝트의 DB 관련 정보들을 Dump 파일로 생성해 백업을 해두는 절차를 숙지해둬야겠단 생각이 들었습니다.

 


접근

 

  1. Linux 운영체제 사용
  2. Docker 사용

  3. PostgreSQL 사용

 


방법

 

  1. Linux 운영체제 터미널로 Docker > PostgreSQL 컨테이너 접근

```
1) docker 컨테이너-이미지 확인
>> sudo docker ps 

2) postgreSQL 컨테이너 진입
>> sudo docker exec -it postres bash
```


  2. postgreSQL 진입 (쿼리문 작업을 위함)

```
postgres 진입
>> psql -U postgres
```


  3. 현재 DB 목록 확인 & postgres 빠져나오기 (종료)

```
1) DB 목록확인
\l

2) postgres 빠져나오기(종료)
\q
```


  4. (docker 컨테이너에만 진입해있는 상황) dump 생성을 위한 명령어

```
pg_dump -d 원하는DB명 -U postgres > 저장희망명칭.sql

ex) pg_dump -d abcDB -U postgres > abcDB.sql
```

 

  5. docker 컨테이너에서 빠져나오기 (종료)

```
ctrl + p + q
위 방법은 컨테이너 실행을 유지한 채 빠져나올 수 있습니다.
(ctrl + D는 컨테이너의 run상태를 종료시키고 빠져 나옵니다. )
```

  6. docker 컨테이너 내 특정파일을 로컬로 이동(복사)시키기

```
docker cp postgres:/abcDB.sql /home/나의 경로
```

 

728x90
반응형
LIST

댓글