Docker를 사용한 PSQL 데이터베이스 덤프 가져오기 및 내보내기
Source: Dev.to
Prerequisites
- 실행 중인 PostgreSQL Docker 컨테이너.
- 호스트에 있는 SQL 덤프 파일.
컨테이너가 실행 중인지 확인:
docker ps
PostgreSQL 컨테이너가 목록에 표시되어야 합니다(예: exampledb).
Importing a Dump File into the Container
호스트에 있는 덤프 파일을 컨테이너로 복사합니다:
docker cp path_of_dump_file.sql :/tmp/
Example
docker cp ~/Downloads/example_db.sql exampledb:/tmp/example_db.sql
성공하면 Docker가 다음과 같은 확인 메시지를 출력합니다:
Successfully copied 23MB to exampledb:/tmp/example_db.sql
파일이 이제 컨테이너 내부에 위치하게 되며, 데이터베이스를 채우는 데 사용할 수 있습니다.
Exporting (Dumping) the Database from Docker
데이터베이스 덤프를 생성하여 호스트 머신에 저장합니다:
docker exec pg_dump -U > file.sql
Example
docker exec exampledb pg_dump -U root exampledb > example_db_dump.sql
이 명령은 로컬 시스템에 example_db_dump.sql 파일을 생성하며, 데이터베이스 전체 백업을 포함합니다.