EDB Postgres AI로 Postgres 실시간 데이터 마이그레이션하기
작성자: Manni Wood
게시일: 2025년 6월 18일
최종 수정일: 2026년 8월 26일
새로운 데이터베이스 플랫폼을 도입할 때 가장 먼저 해결해야 할 과제 중 하나는 기존 시스템의 데이터를 새 환경으로 안전하게 이전하는 것입니다. 이 글에서는 EDB Postgres AI의 하이브리드 관리 기능(Hybrid Management)과 데이터 마이그레이션 서비스(Data Migration Service, DMS)를 활용해 Postgres 16에서 Postgres 17로 실시간 데이터 마이그레이션을 구성한 과정을 살펴봅니다.
소스 데이터베이스 설정, EDB Change Data Capture Reader(cdcreader) 구성, Hybrid Manager UI에서의 마이그레이션 생성과 변경 데이터 캡처(Change Data Capture, CDC) 결과 확인까지 단계별로 정리합니다.
Postgres 실시간 데이터 마이그레이션이 필요한 경우
단순한 Postgres 간 마이그레이션은 pg_dump와 pg_restore 같은 익숙한 기본 도구로도 처리할 수 있습니다. 하지만 다음과 같은 복잡한 상황에서는 별도의 마이그레이션 접근 방식이 필요합니다.
- Oracle에서 Postgres로 이전해야 하는 경우
- Postgres 버전 간 업그레이드 과정에서 기존 인스턴스를 지속적으로 복제하며 운영을 병행하려는 경우
- 레거시 Oracle 데이터베이스에서 Hybrid Manager에 호스팅된 Postgres로 데이터를 이전하고, 이후 발생하는 변경 사항을 실시간으로 스트리밍하려는 경우
Kafka, Zookeeper, Debezium 같은 오픈소스 도구로도 구현할 수 있지만, 전체 스택을 직접 설치하고 운영하려면 상당한 인프라 비용과 전문 지식이 필요합니다. EDB Postgres AI의 마이그레이션 도구는 이러한 구성과 운영의 복잡성을 줄여 줍니다.
실험 환경: Postgres 16에서 EDB Postgres AI의 Postgres 17로 마이그레이션
이번 실험 환경은 다음과 같이 구성했습니다.
- 로컬 노트북에 설치된 Postgres 16: 레거시 온프레미스 데이터베이스 시뮬레이션
- EDB Postgres AI Hybrid Manager에 생성한 Postgres 17 클러스터: 대상 데이터베이스
Postgres 간 마이그레이션이므로 pg_dump로 테이블 정의만 덤프한 뒤 psql을 사용해 대상 Postgres 17에 로드했습니다. Oracle에서 Postgres로 이전할 때는 EDB의 전용 스키마 변환 도구를 사용할 수 있습니다.
그다음 EDB Change Data Capture Reader(cdcreader)를 다운로드했습니다. 이 도구는 소스 데이터의 변경 사항을 실시간으로 감지해 EDB Postgres AI로 전송합니다. 이 과정에는 Kafka, Zookeeper, Debezium 스택이 사용되지만 사용자가 별도로 설치하거나 설정할 필요는 없습니다.
EDB Change Data Capture Reader(cdcreader) 설정 방법
cdcreader를 사용하려면 다음 설정이 필요했습니다.
- Postgres에서 Logical Replication 활성화
- Debezium 사용자 및 마이그레이션 역할 생성
- 마이그레이션 대상 테이블에 권한 부여
- SSL 활성화
- 저는 Postgres를 수동 컴파일해 사용하고 있어 SSL을 활성화하고 self-signed 인증서를 생성해야 했습니다.
추가로 다음 사항을 준비해야 합니다.
cdcreader는 Java 기반 애플리케이션이므로 JDK가 설치되어 있어야 합니다.- Hybrid Manager에서 마이그레이션 인증 정보(migration credentials)를 다운로드해
cdcreader가 대상 스택과 안전하게 통신하도록 설정해야 합니다. cdcreader실행 스크립트(run-cdcreader.sh)를 수정해 레거시 데이터베이스 경로와 인증 정보를 반영해야 합니다.
설정을 마친 후 ./run-cdcreader.sh를 실행하면 Hybrid Manager UI의 Migration Sources 탭에 소스가 등록됩니다.

Hybrid Manager UI에서 마이그레이션 구성하기
cdcreader 설정을 마치면 Hybrid Manager UI에서 다음 순서로 마이그레이션을 구성할 수 있습니다.
- Hybrid Manager의 Migration Sources 메뉴에서 마이그레이션을 생성합니다.

- 마이그레이션 대상 Postgres 17 인스턴스를 지정합니다.

- 마이그레이션할 테이블을 선택합니다. 이번 실험에서는 테이블을 하나만 생성했기 때문에 선택 과정이 간단했습니다.

- 마이그레이션이 완료되면 레거시 Postgres의 데이터 변경 사항이 EDB Postgres AI의 대상 인스턴스에 실시간으로 반영됩니다.

소스 데이터베이스에서 INSERT 또는 DELETE 등의 작업을 수행한 뒤, 대상 데이터베이스의 SELECT 결과에 변경 사항이 즉시 반영되는 것을 확인할 수 있었습니다.
반복적인 마이그레이션 테스트로 전환 전략 검증
cdcreader를 한 번 설정하면 이후의 마이그레이션 실험은 훨씬 간편해집니다.
- 기존 마이그레이션을 삭제하고 새로 구성할 수 있습니다.
- Postgres 클러스터를 제거하고 다시 생성한 뒤 마이그레이션을 재시작할 수 있습니다.
- 데이터를 포함하지 않은 스키마만 다시 로드한 뒤 마이그레이션을 재시작할 수 있습니다.
이러한 반복 실험은 실제 프로덕션 환경의 전환 전략을 수립하고 검증하는 데 도움이 됩니다. 특히 마이크로서비스 기반의 소규모 데이터베이스에서는 여러 마이그레이션 시나리오를 테스트해 새로운 Postgres 인스턴스로 전환하기 전에 충분히 검증할 수 있습니다.
결론: EDB Postgres AI로 실시간 CDC 마이그레이션 구성
이번 실험에서는 EDB Postgres AI의 마이그레이션 도구를 사용해 Postgres 16에서 Postgres 17로 데이터를 이전하고, 이후 변경 사항을 실시간으로 반영하는 과정을 확인했습니다. Kafka, Zookeeper, Debezium을 직접 설치하거나 설정하지 않고도 CDC 기반 마이그레이션을 구성할 수 있습니다.
이 방식은 Oracle에서 Postgres로의 전환, Postgres 버전 업그레이드, 온프레미스에서 새로운 Postgres 환경으로의 이전을 검토할 때 반복적인 테스트와 전환 전략 검증에 활용할 수 있습니다.
Postgres 실시간 데이터 마이그레이션 FAQ
Postgres 16에서 Postgres 17로 실시간 마이그레이션하려면 무엇이 필요한가요?
소스 Postgres에서 Logical Replication과 SSL을 활성화하고, Debezium 사용자와 마이그레이션 역할 및 대상 테이블 권한을 구성해야 합니다. Java 기반의 cdcreader 실행을 위한 JDK와 Hybrid Manager에서 받은 마이그레이션 인증 정보도 필요합니다.
EDB Change Data Capture Reader(cdcreader)는 어떤 역할을 하나요?
cdcreader는 소스 데이터의 변경 사항을 실시간으로 감지해 EDB Postgres AI로 전송합니다. 내부적으로 Kafka, Zookeeper, Debezium 스택을 사용하지만 사용자가 각 도구를 별도로 설치하거나 설정할 필요는 없습니다.
Postgres 간 마이그레이션에도 스키마를 먼저 이전해야 하나요?
이 실험에서는 pg_dump로 테이블 정의만 덤프한 뒤 psql로 대상 Postgres 17에 로드했습니다. 이후 cdcreader와 Hybrid Manager를 사용해 데이터 변경 사항을 실시간으로 반영했습니다.
Hybrid Manager에서는 어떤 순서로 마이그레이션을 구성하나요?
Migration Sources 메뉴에서 마이그레이션을 생성하고 대상 Postgres 17 인스턴스와 이전할 테이블을 선택합니다. 마이그레이션이 완료되면 소스 Postgres에서 발생한 변경 사항이 대상 인스턴스에 반영됩니다.
실시간 마이그레이션을 반복해서 테스트할 수 있나요?
cdcreader를 설정한 뒤에는 기존 마이그레이션을 다시 구성하거나 Postgres 클러스터를 재생성해 테스트할 수 있습니다. 데이터 없이 스키마만 다시 로드한 뒤 마이그레이션을 재시작하는 방식도 사용할 수 있습니다.
EDB Postgres AI와 데이터 마이그레이션에 관한 자세한 내용은 아래 연락처를 통해 문의해 주세요.