Docs Menu
Docs Home
/
Relational Migrator
/ /

PostgreSQL에 대한 마이그레이션 전제 조건 구성

이 페이지의 내용

  • 시작하기 전에
  • 단계
  • 자세히 알아보기

PostgreSQL 소스 데이터베이스에서 동기화 작업을 실행하려면 데이터베이스에서 몇 가지 구성을 변경해야 할 수 있습니다. Relational Migrator가 데이터베이스 구성 변경이 필요하다고 판단하면 필요한 변경 사항이 포함된 SQL 스크립트를 자동으로 생성합니다. 데이터베이스 관리자(DBA)에게 이 스크립트의 명령을 검토하고 데이터베이스 서버에서 실행을 수행하도록 하는 것이 좋습니다. 이 지침은 두 가지 유형의 동기화 작업에 대해 PostgreSQL을 구성합니다.

  • 스냅샷 동기화 작업은 모든 데이터를 마이그레이션한 다음 중지됩니다.

  • 연속 동기화 작업은 스냅샷을 실행한 다음 CDC 단계로 들어가 데이터 변경 사항을 지속적으로 복제합니다.

PostgreSQL이 cluster로 구성된 경우, Relational Migrator를 마스터 서버에 연결해야 합니다.

PostgreSQL에 대한 스냅샷 작업의 경우 서비스 계정에 스키마 USAGE 및 테이블 SELECT 권한이 필요합니다.

GRANT USAGE ON SCHEMA <schema_name> TO <database_user_name>;
GRANT SELECT ON TABLE <schema_name>.<table_name> TO <database_user_name>;
1

논리적 복제는 기본적으로 활성화되어 있지 않을 수 있습니다. 논리적 복제를 활성화하려면 월_ 레벨 을(를) 변경합니다.postgresql.conf 구성 파일 의 구성 . 구성 파일을 변경한 후에 는 데이터베이스 인스턴스를 다시 시작해야 합니다.

wal_level = logical

AWS RDS에서 호스팅되는 PostgreSQL을 사용하는 경우 rds.logical_replication 매개변수를 1 으)로 설정해야 합니다. 자세한 내용 은 AWS에서 논리적 복제 활성화 를 참조하세요. .매개변수를 설정한 후에 는 데이터베이스 인스턴스를 다시 시작해야 합니다 .

다음 쿼리를 사용하여 AWS RDS 인스턴스에 논리적 복제가 활성화되어 있는지 확인할 수 있습니다.

SELECT name,setting
FROM pg_settings
WHERE name IN ('wal_level','rds.logical_replication');
2
  1. REPLICATIONLOGIN 데이터베이스 권한이 있는 역할을 만듭니다.

    CREATE ROLE <role> REPLICATION LOGIN;
  2. 테이블 SELECT 및 스키마 USAGE 권한을 역할에 부여합니다. 마이그레이션의 각 테이블에는 GRANT SELECT 문이 필요합니다.

    GRANT USAGE ON SCHEMA <schema> TO <role>;
    GRANT SELECT ON <schema>.<table> TO <role>;
    -- ADDITIONAL GRANT SELECT STATEMENTS...
  3. 서비스 계정에 역할 부여

    <original_owner> 를 참여 테이블의 소유자로 바꿉니다.

    GRANT <role> TO <original_owner>;
    GRANT <role> TO <database_user_name>;
3

마이그레이션의 각 테이블에는 ALTER TABLE 문이 필요합니다.

ALTER TABLE <schema>.<table> OWNER TO <role>;
-- ADDITIONAL ALTER TABLE STATEMENTS...
4

발행물 만들기 마이그레이션의 각 테이블은 쉼표로 FOR 구분된 문에서 지정되어야 합니다.

CREATE PUBLICATION "MIGRATOR_<name>_PUBLICATION"
FOR TABLE "<schema>"."<table1>","<schema>"."<table2>";
5

마이그레이션의 각 테이블에는 ALTER TABLE 문이 필요합니다.

ALTER TABLE <schema>.<table> REPLICA IDENTITY FULL;
-- ADDITIONAL ALTER TABLE STATEMENTS...

Relational Migrator는 오픈 소스 Debezium connector를 사용하여 행 수준 변경 사항을 캡처합니다. 자세한 내용은 Debezium PostgreSQL을 참조하세요.

돌아가기

Oracle