Amazon RDS PostgreSQL 데이터베이스 구성

다음 페이지에서는 PostgreSQL용 Amazon RDS 데이터베이스에 CDC를 구성하는 방법을 설명합니다.

매개변수 그룹 만들기

  1. Amazon RDS 대시보드를 실행합니다.

  2. 탐색 창에서 매개변수 그룹을 클릭한 후 매개변수 그룹 만들기를 클릭합니다. 매개변수 그룹 만들기 페이지가 나타납니다.

  3. 데이터베이스와 일치하는 데이터베이스 계열을 선택하고 매개변수 그룹의 이름과 설명을 입력한 다음 만들기를 클릭합니다.

  4. 새로 만든 매개변수 그룹의 왼쪽에 있는 체크박스를 선택한 다음 매개변수 그룹 작업에서 수정을 클릭합니다.

  5. 그룹에 다음 매개변수를 설정합니다.

    매개변수
    logical_replication1
  6. 변경사항 저장을 클릭합니다.

소스 데이터베이스 구성

  1. Amazon RDS 대시보드를 실행합니다.

  2. 탐색 창에서 데이터베이스를 클릭합니다.

  3. 소스를 선택한 다음 수정을 클릭합니다.

  4. 추가 구성 섹션으로 이동합니다.

  5. 생성한 매개변수 그룹을 선택합니다.

  6. 계속을 클릭합니다.

  7. 수정 예약에서 즉시 적용을 선택합니다.

매개변수 그룹이 데이터베이스 인스턴스에 할당되어 있는지 확인

  1. Amazon RDS 대시보드를 실행합니다.

  2. 탐색 창에서 데이터베이스를 클릭한 다음 데이터베이스 인스턴스를 선택합니다.

  3. 구성 탭을 클릭합니다.

  4. 생성한 매개변수 그룹이 표시되고 상태가 pending-reboot인지 확인합니다.

  5. 데이터베이스 인스턴스를 재부팅하여 구성을 완료합니다. 인스턴스를 재부팅하려면 다음 안내를 따르세요.

    1. Navigation Drawer에서 Instances를 클릭합니다.
    2. 데이터베이스 인스턴스를 선택합니다.
    3. 인스턴스 작업 메뉴에서 재부팅을 선택합니다.

게시 및 복제 슬롯 만들기

  1. 게시 만들기. 복제할 테이블에 대해서만 게시를 만드는 것이 좋습니다. 이렇게 하면 Datastream이 관련 데이터만 읽을 수 있고 데이터베이스와 Datastream의 부하가 줄어듭니다.

    CREATE PUBLICATION PUBLICATION_NAME
    FOR TABLE SCHEMA1.TABLE1, SCHEMA2.TABLE2;

    다음을 바꿉니다.

    • PUBLICATION_NAME: 게시의 이름입니다. Datastream 스트림 만들기 마법사에서 스트림을 만들 때 이 이름을 제공해야 합니다.
    • SCHEMA: 테이블이 포함된 스키마의 이름입니다.
    • TABLE: 복제할 테이블의 이름입니다.

    스키마의 모든 테이블에 대한 게시를 만들 수 있습니다. 이 방식을 사용하면 이후에 만들 테이블을 포함하여 지정된 스키마 목록에 있는 테이블의 변경사항을 복제할 수 있습니다.

    CREATE PUBLICATION PUBLICATION_NAME
    FOR TABLES IN SCHEMA1, SCHEMA2;

    데이터베이스의 모든 테이블에 대한 게시를 만들 수도 있습니다. 이 경우 소스 데이터베이스와 Datastream의 부하가 증가합니다.

    CREATE PUBLICATION PUBLICATION_NAME FOR ALL TABLES;
    
  2. 다음 PostgreSQL 명령어를 입력하여 복제 슬롯을 만듭니다.

    SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('REPLICATION_SLOT_NAME', 'pgoutput'); 

    다음을 바꿉니다.

    • REPLICATION_SLOT_NAME: 복제 슬롯 이름입니다. Datastream 스트림 만들기 마법사에서 스트림을 만들 때 이 이름을 제공해야 합니다.

Datastream 사용자 만들기

  1. Datastream 사용자를 만들려면 다음 PostgreSQL 명령어를 입력합니다.

    CREATE USER USER_NAME WITH ENCRYPTED PASSWORD 'USER_PASSWORD';
    

    다음을 바꿉니다.

    • USER_NAME: 만들려는 Datastream 사용자의 이름입니다.
    • USER_PASSWORD: 만들려는 Datastream 사용자의 로그인 비밀번호입니다.
  2. 자신이 만든 사용자에게 다음 권한을 부여합니다.

    GRANT RDS_REPLICATION TO USER_NAME;
    GRANT SELECT ON ALL TABLES IN SCHEMA SCHEMA_NAME TO USER_NAME;
    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USER;
    ALTER DEFAULT PRIVILEGES IN SCHEMA SCHEMA_NAME
      GRANT SELECT ON TABLES TO USER_NAME;
    

    다음을 바꿉니다.

    • USER_NAME: 권한을 부여하려는 사용자입니다.
    • SCHEMA_NAME: 권한을 부여할 스키마의 이름입니다.