

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

# 를 사용하여 PostgreSQL 데이터베이스에 연결 AWS Schema Conversion Tool
<a name="CHAP_Source.PostgreSQL"></a>

 AWS SCT 를 사용하여 스키마, 데이터베이스 코드 객체 및 애플리케이션 코드를 PostgreSQL에서 다음 대상으로 변환할 수 있습니다.
+ Amazon RDS for MySQL
+ Amazon Aurora MySQL 호환 버전
+ Amazon RDS for PostgreSQL
+ Amazon Aurora PostgreSQL 호환 에디션

자세한 내용은 다음 단원을 참조하세요.

**Topics**
+ [PostgreSQL을 소스 데이터베이스로 사용할 수 있는 권한](#CHAP_Source.PostgreSQL.Permissions)
+ [PostgreSQL에 소스로 연결](#CHAP_Source.PostgreSQL.Connecting)
+ [MySQL을 대상 데이터베이스로 사용하기 위한 권한](#CHAP_Source.PostgreSQL.ConfigureMySQL)

## PostgreSQL을 소스 데이터베이스로 사용할 수 있는 권한
<a name="CHAP_Source.PostgreSQL.Permissions"></a>

PostgreSQL을 소스로 사용하기 위해 필요한 권한은 다음과 같습니다.
+ CONNECT ON DATABASE {{<database\_name>}} 
+ USAGE ON SCHEMA {{<database\_name>}} 
+ SELECT ON ALL TABLES IN SCHEMA {{<database\_name>}} 
+ SELECT ON ALL SEQUENCES IN SCHEMA {{<database\_name>}} 

## PostgreSQL에 소스로 연결
<a name="CHAP_Source.PostgreSQL.Connecting"></a>

다음 절차에 따라 AWS Schema Conversion Tool을 사용하여 PostgreSQL 소스 데이터베이스에 연결합니다.

**PostgreSQL 소스 데이터베이스에 연결하려면**

1. 에서 **소스 추가**를 AWS Schema Conversion Tool선택합니다.

1. **PostgreSQL**을 선택한 후 **다음**을 선택합니다.

   **소스 추가** 대화 상자가 나타납니다.

1. **연결 이름**에 데이터베이스의 이름을 입력합니다. AWS SCT 는 왼쪽 패널의 트리에 이 이름을 표시합니다.

1. 에서 데이터베이스 자격 증명을 사용하거나 수동으로 AWS Secrets Manager 입력합니다.
   + Secrets Manager의 데이터베이스 보안 인증 정보를 사용하려면 다음 지침을 따릅니다.

     1. **AWS Secret**에서 보안 암호의 이름을 선택합니다.

     1. **Populate**를 선택하여 Secrets Manager에서 데이터베이스 연결 대화 상자에 있는 모든 값을 자동으로 채웁니다.

     Secrets Manager의 데이터베이스 보안 인증 사용에 대한 자세한 내용은 [AWS Secrets Manager 에서 구성 AWS Schema Conversion Tool](CHAP_UserInterface.SecretsManager.md) 섹션을 참조하세요.
   + PostgreSQL 소스 데이터베이스 연결 정보를 수동으로 입력하려면 다음 지침을 사용합니다.  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/SchemaConversionTool/latest/userguide/CHAP_Source.PostgreSQL.html)

1. **연결 테스트를** 선택하여가 소스 데이터베이스에 연결할 AWS SCT 수 있는지 확인합니다.

1. **연결**을 선택하여 소스 데이터베이스에 연결합니다.

## MySQL을 대상 데이터베이스로 사용하기 위한 권한
<a name="CHAP_Source.PostgreSQL.ConfigureMySQL"></a>

PostgreSQL에서 마이그레이션할 때 MySQL을 대상으로 사용하기 위해 필요한 권한은 다음과 같습니다.
+ CREATE ON \*.\*
+ ALTER ON \*.\*
+ DROP ON \*.\*
+ INDEX ON \*.\*
+ REFERENCES ON \*.\*
+ SELECT ON \*.\*
+ CREATE VIEW ON \*.\*
+ SHOW VIEW ON \*.\*
+ TRIGGER ON \*.\*
+ CREATE ROUTINE ON \*.\*
+ ALTER ROUTINE ON \*.\*
+ EXECUTE ON \*.\*
+ INSERT, UPDATE ON AWS\_POSTGRESQL\_EXT.\*
+ INSERT, UPDATE, DELETE ON AWS\_POSTGRESQL\_EXT\_DATA.\*
+ CREATE TEMPORARY TABLES ON AWS\_POSTGRESQL\_EXT\_DATA.\*

다음 코드 예제를 사용하여 데이터베이스 사용자를 생성하고 권한을 부여할 수 있습니다.

```
CREATE USER '{{user_name}}' IDENTIFIED BY '{{your_password}}';
GRANT CREATE ON *.* TO '{{user_name}}';
GRANT ALTER ON *.* TO '{{user_name}}';
GRANT DROP ON *.* TO '{{user_name}}';
GRANT INDEX ON *.* TO '{{user_name}}';
GRANT REFERENCES ON *.* TO '{{user_name}}';
GRANT SELECT ON *.* TO '{{user_name}}';
GRANT CREATE VIEW ON *.* TO '{{user_name}}';
GRANT SHOW VIEW ON *.* TO '{{user_name}}';
GRANT TRIGGER ON *.* TO '{{user_name}}';
GRANT CREATE ROUTINE ON *.* TO '{{user_name}}';
GRANT ALTER ROUTINE ON *.* TO '{{user_name}}';
GRANT EXECUTE ON *.* TO '{{user_name}}';
GRANT INSERT, UPDATE ON AWS_POSTGRESQL_EXT.* TO '{{user_name}}';
GRANT INSERT, UPDATE, DELETE ON AWS_POSTGRESQL_EXT_DATA.* TO '{{user_name}}';
GRANT CREATE TEMPORARY TABLES ON AWS_POSTGRESQL_EXT_DATA.* TO '{{user_name}}';
```

이전 예제에서 {{user\_name}}을 사용자 이름으로 바꿉니다. 그런 다음 {{your\_password}}를 안전한 암호로 바꿉니다.

Amazon RDS for MySQL 또는 Amazon RDS for Aurora MySQL을 대상으로 사용하려면 `lower_case_table_names` 파라미터를 `1`로 설정합니다. 이 값은 MySQL 서버가 테이블, 인덱스, 트리거 및 데이터베이스와 같은 객체 이름의 식별자를 대소문자 구분 없이 처리한다는 것을 의미합니다. 대상 인스턴스에서 이진 로깅을 활성화했다면 `log_bin_trust_function_creators` 파라미터를 `1`로 설정합니다. 이 경우 저장된 함수를 생성하기 위해 `DETERMINISTIC`, `READS SQL DATA` 또는 `NO SQL` 특성을 사용할 필요가 없습니다. 이들 파라미터를 구성하려면 새 DB 파라미터 그룹을 생성하거나 기존 DB 파라미터 그룹을 수정해야 합니다.