본문 바로가기
공부/기타

[PostgreSQL] Docker로 뜬 PostgreSQL DB -> RDS data 마이그레이션

by haejang 2023. 9. 15.
728x90
728x90

 

# 상황

EC2 위에 도커로 PostgreSQL DB가 하나 돌아가던게 있었음. -> RDS로 마이그레이션 필요

진행 방식 : EC2 접속 > 도커 접속 > 디비 덤프 > 덤프파일 가져와서 RDS로 Restore

EC2 접속은 gossm 사용함.

 

# Docker로 띄운 PostgreSQL DB 접근 및 백업

## gossm으로 EC2 접속 후 진행

# postgres docker 접속
sudo docker exec -it postgres /bin/bash

# 도커 내에서 db backup 후 exit
echo $POSTGRES_USER
echo $POSTGRES_PASSWORD
pg_dumpall -U $POSTGRES_USER > pg_dumpall_20230915.backup
exit

# 도커 내 백업파일 복사 후 권한 설정, exit
sudo docker cp postgres:/pg_dumpall_20230915.backup ./pg_dumpall_20230915.backup
sudo chmod 664 pg_dumpall_20230915.backup
exit

# 로컬에서 gossm scp 명령을 통해 백업파일 복사 : pem키 필요
gossm scp -e '-i [pem key file] ec2-user@[server ip]:/home/ubuntu/apicurio/pg_dumpall_20230915.backup ./pg_dumpall_20230915.backup'

 

# Postgres RDS로 Restore

# psql 설치 in MAC
brew update
brew install libpq
brew link --force libpq

# RDS Restore
psql -h [RDS Endpoint] -p 5432 -U postgres -W -f pg_dumpall_20230915.backup

 

백업파일 이름은 맘대루,,,,

 

끝!

 

 

728x90
728x90

댓글