728x90
반응형
SMALL
필요성
어느 프로젝트에 대해 로컬에 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
'DEV > 연구목록' 카테고리의 다른 글
[Status] HTTP 응답 상태 코드 모음 (0) | 2023.03.08 |
---|---|
[Spring Boot] (작성중)war 파일 배포하기 (외부, 외장 톰캣) (0) | 2023.02.01 |
(작성중) [연구목록] Putty 사용 (0) | 2023.01.05 |
(작성중) [연구목록] 이더넷 port 바꾸기 (0) | 2023.01.05 |
(작성중)[Docker] docker error 해결법 : the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty' (0) | 2023.01.05 |
댓글