SUMMARY

[DB] PostgreSQL 덤프, 복구

grammiboii 2025. 6. 6. 00:37

배경

데스크 탑으로 윈도우, 로컬 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

Image

90만개인데도

생각보다 빠르게 끝난다.

'SUMMARY' 카테고리의 다른 글

[DB] RDS PostgreSQL pg_dump 트러블 슈팅  (0) 2025.06.06