전체 복사와 복원에 필요한 쓰기 중단을 감당할 수 있다면 pg_dump·pg_restore를 먼저 검토하고, 복사 중에도 변경을 받아야 한다면 AWS DMS의 CDC를 비교하세요. 결정 기준은 데이터 크기 하나가 아니라 허용 중단 시간, 스키마 범위, 변경률과 되돌림 가능성입니다. DMS를 켠다고 무중단 이전이나 완전한 객체 이전이 자동 보장되지는 않습니다.
선택이 어려운 원인: 한 번의 복사와 지속 동기화를 같은 작업으로 보기
pg_dump는 실행 시점의 일관된 데이터베이스 덤프를 만들지만 이후 변경을 계속 전달하는 도구는 아닙니다. 덤프 중 쓰기를 허용할 수 있다는 점과, 서비스 전환 때 누락 없이 최신 상태를 만들 수 있다는 점을 구분해야 합니다. 마지막 쓰기를 멈춘 뒤 덤프·전송·복원을 진행하는 단순 경로라면 그 시간이 중단 예산 안에 드는지 리허설로 확인합니다.
반면 전체 적재 후 CDC를 사용하는 경로는 초기 복사 중 발생한 변경을 따라잡는 과정을 포함합니다. 일반 DMS 복제 태스크, DMS 동종 데이터 이전, 네이티브 전체 복사와 DMS를 결합한 혼합 경로는 사전조건과 객체 처리 방식이 같지 않습니다. 특히 동종 PostgreSQL 이전은 네이티브 도구와 논리 복제를 사용하므로 “DMS는 스키마를 전혀 옮기지 않는다”는 단정도 피해야 합니다.
| 판단 항목 | pg_dump·복원 | DMS·CDC 검토 |
| 중단 조건 | 최종 덤프·복원 시간을 감당 | 초기 복사와 최종 전환을 나눔 |
| 계속되는 변경 | 별도 동기화 없음 | 지원 조건과 지연·WAL 감시 |
| 객체 범위 | 단일 DB·전역 객체 구분 | 일반 태스크·동종 이전 구분 |
| 견적 범위 | 실행 자원·저장·작업 시간 | 이전 방식별 자원·전송·운영 |
1. 도구 이름보다 전환 시나리오를 먼저 적는다
단일 DB 전체를 옮기는지 일부 테이블만 옮기는지, 원본과 대상의 메이저 버전·확장 기능·인코딩이 호환되는지부터 목록으로 만듭니다. 사용자·역할·권한·시퀀스·뷰·함수·트리거·대용량 객체와 확장 기능은 “테이블 수가 맞음”과 별개로 검증할 항목입니다. 계정 전체의 역할 같은 전역 객체까지 단일 DB 덤프에 모두 포함된다고 가정하지 마세요.
예를 들어 야간에 쓰기를 멈출 수 있는 내부 업무 DB라면 덤프·복원 리허설부터 시작할 수 있습니다. 반대로 주문 접수가 계속되는 DB라면 CDC 지연과 최종 쓰기 동결·연결 전환 시간을 별도로 설계합니다. 이는 가상 선택 예시이며 실제 이전 소요 시간이나 비용을 측정한 사례가 아닙니다.
2. pg_dump는 버전·아카이브·빈 복원 대상을 확인한다
사용할 클라이언트의 pg_dump 메이저 버전이 원본 서버보다 오래되면 덤프를 거부할 수 있습니다. 더 오래된 대상 서버로의 복원도 일반적인 호환 경로로 보장되지 않습니다. 아래는 호스트·DB·계정과 접근 권한을 확인한 별도 시험 환경에서 검토할 예시입니다. 비밀번호는 명령줄에 넣지 않고 조직의 승인된 접속 설정을 사용하세요.
pg_dump --version
pg_restore --version
pg_dump -h source.example -U migration_reader -d appdb -Fc -f appdb.dump
pg_restore --list appdb.dump
# 별도로 준비한 빈 시험 DB에만 복원
pg_restore -h test-target.example -U migration_owner -d appdb_trial --exit-on-error appdb.dump

덤프 파일에는 실제 데이터가 들어가므로 저장·전송 암호화와 접근 제한이 필요합니다. 기존 운영 DB에 덮어쓰거나 삭제 옵션을 붙여 시험하지 않습니다. 덤프 성공과 목록 출력만으로 복원·애플리케이션 호환성이 검증됐다고 쓰지 마세요.
3. CDC 경로는 권한·WAL·객체 범위를 별도 평가한다
정확한 DMS 이전 방식을 선택한 다음 해당 문서의 소스·대상 버전, 논리 복제 설정, 네트워크, 권한과 테이블 식별 조건을 확인합니다. 지원되지 않는 객체나 변경 작업이 없는지 점검하고, 복제 슬롯의 WAL 보관량과 저장공간을 감시할 운영 책임자를 정합니다. 복제 설정 변경에 재부팅이 필요한 환경이면 그 작업도 중단 예산에 포함합니다.
가격표는 복제 인스턴스·서버리스·동종 이전 등 선택한 방식의 과금 단위부터 읽습니다. 이전 자원 외에도 대상 DB, 추가 저장공간, 로그, 데이터 전송과 리허설 기간을 견적 범위에 넣으세요. 여기서는 리전·실행 시간·처리량을 측정하지 않았으므로 고정 비용이나 절감률을 제시하지 않습니다.
확인 방법: 전환 승인과 되돌림 기준을 한 장으로 만든다
전환 전에는 테이블별 건수·핵심 합계·최신 업무 데이터와 객체·권한을 대조합니다. CDC 경로라면 쓰기 동결 후 변경 지연이 해소됐다는 증거를 확보하고 애플리케이션 연결을 바꿉니다. 로그인·조회·새 쓰기·백그라운드 작업을 시험하고 오류율을 관찰하세요. 건수만 같아도 값·관계·권한이 다를 수 있습니다.
대상에서 새 쓰기를 받은 뒤 원본으로 돌아가려면 그 쓰기를 어떻게 처리할지 계획이 필요합니다. 연결 문자열만 되돌리는 것은 데이터 되돌림이 아닙니다. 원본 보존 기간, 전환 취소 시점, 이중 쓰기 방지와 삭제 승인 절차를 미리 정하고 검증 전 원본을 지우지 않습니다.
FAQ
DMS가 항상 더 빠른가요? 데이터·네트워크·객체와 방식에 따라 달라집니다. 같은 데이터와 전환 조건으로 시험해야 합니다.
덤프가 일관되면 쓰기를 계속해도 되나요? 덤프 이후 변경은 별도입니다. 마지막 변경을 포함할 전환 방법이 있어야 합니다.
CDC 지연이 줄면 바로 전환하나요? 객체·업무 데이터 검증과 최종 쓰기 동결·응용 프로그램 점검도 통과해야 합니다.
공식 출처와 관련 글
공식 자료 확인일은 2026년 10월 16일입니다. 명령·설정은 공식 문서로 확인했으며 운영 서비스에서 직접 실행한 시험·속도·비용 결과가 아닙니다. 실제 적용 전 설치 버전과 대상 서비스의 지원 범위를 확인하세요.
DMS PostgreSQL 소스와 네이티브 이전 도구 선택
'소프트웨어개발' 카테고리의 다른 글
| S3 presigned URL과 CloudFront 서명 URL 비교: 비공개 다운로드 권한·캐시 선택 (0) | 2026.10.17 |
|---|---|
| Docker·CI Git dubious ownership 해결: UID·마운트·safe.directory 점검 (0) | 2026.10.16 |
| SSH Host key verification failed 해결: 지문·포트·known_hosts 확인 순서 (0) | 2026.10.16 |