배경
데스크 탑으로 윈도우, 로컬 postgres
노트북으로 맥, 도커 postgres 사용중에
성능이 좋은 데스크탑으로 90만개 레코드를 추가하고
노트북으로 옮기다 환경이 달라 조금 헤매서 정리하게 되었다.
덤프
윈도우 환경에서는 로컬 postgres여서 어려운 점이 없었다.
pg_dump -h (호스트명) -U (유저명) -p (포트번호) -d (DB이름) > (덤프파일위치+파일명)
나는 백업하고 싶은 위치에서
pg_dump -U postgres -d [db_name] > [백업 이름].sql
필자 명령어
pg_dump -U postgres -d yumst > yumst_25_1_19.sql
복구
로컬 postgres는 쉬울듯 하다.
psql -U postgres -d [db_name] < [백업 이름].sql
컨테이너 내부로 복사
도커를 사용중이라면
docker cp [위치/이름.sql] [컨테이너 이름]:/tmp/backup.sql
필자 명령어
docker cp /Users/leo/yumst_25_1_19_backup.sql postgrescontainer:/tmp/backup.sql
Successfully copied 516MB to postgrescontainer:/tmp/backup.sql
컨테이너 내부에서 restore
docker exec -it [컨테이너 이름] psql -U [유저명] -d [DB이름] -f /tmp/backup.sql
이게 약간 귀찮으니
docker desktop에서 컨테이너 내부로 들어가서 해도 된다
들어가서
psql -U postgres -d [db_name] < /tmp/backup.sql
90만개인데도
생각보다 빠르게 끝난다.
'SUMMARY' 카테고리의 다른 글
[DB] RDS PostgreSQL pg_dump 트러블 슈팅 (0) | 2025.06.06 |
---|