

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 에서 동종 데이터 마이그레이션의 대상으로 PostgreSQL 데이터베이스 사용 AWS DMS
<a name="dm-data-providers-target-postgresql"></a>

PostgreSQL 데이터베이스를 AWS DMS의 동종 데이터 마이그레이션의 대상으로 사용할 수 있습니다.

AWS DMS 대상 Amazon RDS for PostgreSQL 또는 Amazon Aurora PostgreSQL 데이터베이스로 데이터를 마이그레이션하려면에 특정 권한이 필요합니다. 다음 스크립트를 사용하여 PostgreSQL 대상 데이터베이스에서 필요한 권한을 가진 데이터베이스 사용자를 생성합니다.

```
CREATE USER {{your_user}} WITH LOGIN PASSWORD '{{your_password}}';
GRANT USAGE ON SCHEMA {{schema_name}} TO {{your_user}};
GRANT CONNECT ON DATABASE {{db_name}} to {{your_user}};
GRANT CREATE ON DATABASE {{db_name}} TO {{your_user}};
GRANT CREATE ON SCHEMA {{schema_name}} TO {{your_user}};
GRANT UPDATE, INSERT, SELECT, DELETE, TRUNCATE ON ALL TABLES IN SCHEMA {{schema_name}} TO {{your_user}};
            #For "Full load and change data capture (CDC)" and "Change data capture (CDC)" data migrations, setting up logical replication requires rds_superuser privileges
GRANT rds_superuser TO {{your_user}};
```

이전 예제에서는 자신의 정보로 각각의 {{사용자 입력 자리 표시자}}를 바꿉니다.

RDS for PostgreSQL 대상에 대한 논리적 복제를 활성화하려면 DB 파라미터 그룹의 `rds.logical_replication` 파라미터를 1로 설정합니다. 이 정적 파라미터를 적용하려면 DB 인스턴스 또는 DB 클러스터를 재부팅해야 합니다. 일부 파라미터는 정적이므로 서버를 다시 시작할 때까지 서버 start. AWS DMS ignores에서만 DB 파라미터 그룹의 항목에 대한 변경 사항을 설정할 수 있습니다.

PostgreSQL은 트리거를 사용하여 외래 키 제약 조건을 구현합니다. 전체 로드 단계에서는 각 테이블을 한 번에 하나씩 AWS DMS 로드합니다. 전체 로드 중에는 대상 데이터베이스의 외래 키 제약 조건을 해제하는 것이 좋습니다. 이렇게 하려면 다음 방법 중 하나를 사용하세요.
+ 인스턴스에서 모든 트리거를 임시로 비활성화하고 전체 로드를 완료합니다.
+ PostgreSQL 내에서 `session_replication_role` 파라미터의 값을 변경하세요.

  해당 시점에 트리거는 `origin`, `replica`, `always` 또는 `disabled` 상태 중 하나일 수 있습니다. `session_replication_role` 파라미터를 `replica`로 설정하면 해당 `replica` 상태의 트리거만 활성화됩니다. 그렇지 않으면, 트리거가 비활성 상태로 유지됩니다.

## PostgreSQL 호환 데이터베이스를 동종 데이터 마이그레이션의 대상으로 사용하는 것에 대한 제한 사항
<a name="dm-data-providers-target-postgresql-limitations"></a>

PostgreSQL 호환 데이터베이스를 동종 데이터 마이그레이션의 대상으로 사용 시 적용되는 제한 사항은 다음과 같습니다.
+ 데이터 소스에 연결하는 데 사용하는 사용자 이름에는 다음과 같은 제한이 있습니다.
  + 길이는 2\~64자일 수 있습니다.
  + 스페이스를 포함할 수 없습니다.
  + a-z, A-Z, 0-9, 밑줄(\_) 문자를 포함할 수 있습니다.
  + a-z 또는 A-Z로 시작해야 합니다.
+ 데이터 소스에 연결하는 데 사용하는 암호에는 다음과 같은 제한이 있습니다.
  + 길이는 1\~128자일 수 있습니다.
  + 작은따옴표('), 큰따옴표("), 세미콜론(;) 또는 스페이스는 포함할 수 없습니다.