Amazon Aurora PostgreSQL 데이터베이스 구성

다음 섹션에서는 Amazon Aurora PostgreSQL 데이터베이스를 구성하는 방법을 설명합니다.

매개변수 그룹 만들기

  1. Amazon RDS 대시보드를 실행합니다.
  2. 탐색 창에서 매개변수 그룹을 클릭한 후 매개변수 그룹 만들기를 클릭합니다. 매개변수 그룹 만들기 페이지가 나타납니다.
  3. 다음 표를 사용하여 이 페이지의 필드를 채운 다음 만들기를 클릭합니다.
    필드설명
    매개변수 그룹 계열데이터베이스와 일치하는 계열을 선택합니다.
    유형DB 클러스터 매개변수 그룹을 선택합니다.
    그룹 이름매개변수 그룹의 이름을 입력합니다.
    설명매개변수 그룹에 대한 설명을 입력합니다.
  4. 새로 만든 매개변수 그룹의 왼쪽에 있는 체크박스를 선택한 다음 매개변수 그룹 작업에서 수정을 클릭합니다.
  5. rds.logical_replication 매개변수 값을 1로 변경합니다.
  6. 변경사항 저장을 클릭합니다.

데이터베이스 인스턴스에 매개변수 그룹 할당

  1. Amazon RDS 대시보드를 실행합니다.
  2. 탐색 창에서 데이터베이스를 클릭한 다음 데이터베이스 인스턴스를 선택합니다.
  3. 인스턴스 작업 메뉴에서 수정을 선택합니다. DB 인스턴스 수정 대화상자가 나타납니다.
  4. Additional configuration 섹션에서 자신이 만든 데이터베이스 클러스터 매개변수 그룹을 선택합니다.
  5. 백업 보관 기간7일로 설정합니다.
  6. 계속을 클릭합니다.
  7. Scheduling of modifications 창에서 Apply immediately 옵션을 선택합니다.

데이터베이스 인스턴스 재부팅

  1. Amazon RDS 대시보드를 실행합니다.
  2. 탐색 창에서 데이터베이스를 클릭한 다음 데이터베이스 인스턴스를 선택합니다.
  3. Actions 드롭다운 메뉴에서 Reboot를 선택한 다음 Confirm을 선택합니다.

게시 및 복제 슬롯 만들기

  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_NAME;
    ALTER DEFAULT PRIVILEGES IN SCHEMA SCHEMA_NAME
      GRANT SELECT ON TABLES TO USER_NAME;
    

    다음을 바꿉니다.

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