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

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

다음 쿼리 를 사용하여 Amazon Web Services 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