pglogical 확장 설정 - Amazon Relational Database Service

pglogical 확장 설정

RDS for PostgreSQL DB 인스턴스pglogical 확장을 설정하려면 PostgreSQL DB 인스턴스용 사용자 지정 DB 파라미터 그룹 의 공유 라이브러리에 pglogical을 추가해야 합니다. 논리적 디코딩을 켜려면 rds.logical_replication 파라미터의 값을 1로 설정해야 합니다. 마지막으로, 데이터베이스에서 확장을 만듭니다. 이러한 작업에는 AWS Management Console 또는 AWS CLI를 사용할 수 있습니다.

이러한 작업을 수행하려면 rds_superuser 역할의 권한이 있어야 합니다.

다음 단계에서는 사용자의 RDS for PostgreSQL DB 인스턴스가 사용자 지정 DB에 연결되어 있다고 가정합니다. 사용자 지정 DB 클러스터 파라미터 그룹을 만드는 방법에 관한 자세한 내용은 Amazon RDS의 파라미터 그룹 섹션을 참조하세요.

pglogical 확장 설정 방법
  1. https://console.aws.amazon.com/rds/에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 RDS for PostgreSQL DB 인스턴스를 선택합니다.

  3. 구성 탭을 엽니다. RDS for PostgreSQL DB 인스턴스 인스턴스 세부 정보 중에서 파라미터 그룹 링크를 찾습니다.

  4. 링크를 선택하여 와 연결된 사용자 지정 파라미터를 엽니다. RDS for PostgreSQL DB 인스턴스

  5. 파라미터 검색 필드에 shared_pre를 입력하여 shared_preload_libraries 파라미터를 찾습니다.

  6. 파라미터 편집을 선택하여 속성 값에 액세스합니다.

  7. 필드의 목록에 pglogical를 추가합니다. 쉼표를 사용하여 값 목록에서 항목을 구분합니다.

    pglogical이 추가된 shared_preload_libraries 파라미터 이미지.
  8. rds.logical_replication 파라미터를 찾아 1로 설정하여 논리적 복제를 켭니다.

  9. RDS for PostgreSQL DB 인스턴스를 재부팅하여 파라미터 변경 사항이 적용되게 합니다.

  10. 인스턴스를 사용할 수 있다면 psql(또는 pgAdmin)을 사용하여 RDS for PostgreSQL DB 인스턴스에 연결할 수 있습니다.

    psql --host=111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password --dbname=labdb
  11. plogical이 초기화되었는지 확인하려면 다음 명령을 실행합니다.

    SHOW shared_preload_libraries; shared_preload_libraries -------------------------- rdsutils,pglogical (1 row)
  12. 논리적 디코딩을 활성화하는 설정을 다음과 같이 확인합니다.

    SHOW wal_level; wal_level ----------- logical (1 row)
  13. 다음과 같이 확장을 생성합니다.

    CREATE EXTENSION pglogical; EXTENSION CREATED
  14. Save changes(변경 사항 저장)를 선택합니다.

  15. https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  16. 데이터베이스 목록에서 RDS for PostgreSQL DB 인스턴스를 선택한 다음, 작업 메뉴에서 재부팅을 선택합니다.

plogical 확장 설정 방법

AWS CLI를 사용하여 pglogical을 설정하려면 다음 절차와 같이 modify-db-parameter-group 작업을 호출하여 사용자 지정 파라미터 그룹의 특정 파라미터를 수정합니다.

  1. 다음 AWS CLI 명령을 사용하여 shared_preload_libraries 파라미터에 pglogical를 추가합니다.

    aws rds modify-db-parameter-group \ --db-parameter-group-name custom-param-group-name \ --parameters "ParameterName=shared_preload_libraries,ParameterValue=pglogical,ApplyMethod=pending-reboot" \ --region aws-region
  2. 다음 AWS CLI 명령을 사용하여 rds.logical_replication1로 설정하여 용 논리적 디코딩 기능을 켭니다. RDS for PostgreSQL DB 인스턴스

    aws rds modify-db-parameter-group \ --db-parameter-group-name custom-param-group-name \ --parameters "ParameterName=rds.logical_replication,ParameterValue=1,ApplyMethod=pending-reboot" \ --region aws-region
  3. 다음 AWS CLI 명령으로 RDS for PostgreSQL DB 인스턴스를 재부팅하여 pglogical 라이브러리가 초기화되도록 합니다.

    aws rds reboot-db-instance \ --db-instance-identifier your-instance \ --region aws-region
  4. 인스턴스를 사용할 수 있다면 psql을 사용하여 RDS for PostgreSQL DB 인스턴스에 연결합니다.

    psql --host=111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password --dbname=labdb
  5. 다음과 같이 확장을 생성합니다.

    CREATE EXTENSION pglogical; EXTENSION CREATED
  6. 다음 AWS CLI 명령으로 RDS for PostgreSQL DB 인스턴스를 재부팅합니다.

    aws rds reboot-db-instance \ --db-instance-identifier your-instance \ --region aws-region