1. Database 백업 및 복구
- 백업 하기
1. Docker container 진입하여 Database 백업
$ docker exec -it db_container_name bash
( docker exec -it -e COLUMNS=$COLUMNS -e LINES=$LINES -e TERM=$TERM db_container_name bash #가로세로 현재터미널과 동일하게 설정 )
root@8878dce46d40:/# pg_dump -U username -d database_name > database_bak.dump
2. 백업 파일을 docker container 내부에서 host로 복사
$ docker cp db_container_name:/database_bak.dump /home/test
- 복구 하기
1. Docker container 내부로 백업파일 복사
$ docker cp database_bak.dump db_container_name:/
2. Docker container 진입하여 Database 복구
a. 기존 Database 삭제 (기존 Database 삭제안하고 복구 시도 시 error 발생)
$ docker exec -it db_container_name dropdb -U username database_name
b. Database 생성 및 복구
$ docker exec -it db_container_name bash
root@b6a33a579863:/# psql -U username postgres
psql (11.3 (Debian 11.3-1.pgdg90+1))
postgres=# create database database_name;
root@b6a33a579863:/# psql -U username -f database_bak.dump database_name
2. Table 백업 및 복구
pg_dump 명령에서 --table 옵션만 추가하여 진행한다.
- Postgresql table 백업
1. Docker container 진입하여 table 백업
$ docker exec -it db_container_name bash
( docker exec -it -e COLUMNS=$COLUMNS -e LINES=$LINES -e TERM=$TERM db_container_name bash #가로세로 현재터미널과 동일하게 설정 )
root@8878dce46d40:/# pg_dump -U username -d database_name --table=tablename > table_bak.dump
2. 백업 파일을 docker container 내부에서 host로 복사
$ docker cp database_name:/table_bak.dump /home/test
- Postgresql table 복구
database 복구와 동일함
http://www.kwangsiklee.com/2018/05/postgres-docker사용시-유용한-명령어들/
'기타' 카테고리의 다른 글
AUC-ROC Curve, Sensitivity(민감도)와 Specificity(특이도) (1) | 2023.03.05 |
---|---|
pgadmin에서 ERD Diagram Export (postgresql erd 만들기) (0) | 2022.02.14 |
Redis client tool 무료 - P3X Redis UI 사용하기 (0) | 2021.11.18 |
RabbitMQ docker-compose로 설치하여 WebUI 로그인하기 (0) | 2021.11.17 |