

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# を使用した 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\$1name>* 
+ USAGE ON SCHEMA *<database\$1name>* 
+ SELECT ON ALL TABLES IN SCHEMA *<database\$1name>* 
+ SELECT ON ALL SEQUENCES IN SCHEMA *<database\$1name>* 

## ソースとしての PostgreSQL への接続
<a name="CHAP_Source.PostgreSQL.Connecting"></a>

以下の手順を使用して、 AWS Schema Conversion Toolを使用する PostgreSQL ソースデータベースに接続します。

**PostgreSQL ソースデータベースに接続するには**

1. で AWS Schema Conversion Tool、**ソースの追加**を選択します。

1. [**PostgreSQL**] を選択し、その後 [**Next**] (次へ) を選択します。

   [**Add source**] (ソースの追加) ダイアログボックスが表示されます。

1. [**接続名**] にデータベースの名前を入力します。この名前が AWS SCT の左側のパネルのツリーに表示されます。

1. からデータベース認証情報を使用する AWS Secrets Manager か、手動で入力します。
   + Secrets Manager のデータベース認証情報を使用するには、以下の手順に従ってください。

     1. [**AWS シークレット**] で、シークレットの名前を選択します。

     1. [**入力**] を選択すると、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/ja_jp/SchemaConversionTool/latest/userguide/CHAP_Source.PostgreSQL.html)

1. **接続のテスト**を選択して、 がソースデータベースに接続 AWS SCT できることを確認します。

1. [**Connect**] (接続) を選択して、ソースデータベースに接続します。

## MySQL をターゲットデータベースとする場合の権限
<a name="CHAP_Source.PostgreSQL.ConfigureMySQL"></a>

PostgreSQL から移行する場合にターゲットとして MySQL に必要な権限は次のとおりです。
+ CREATE ON \$1.\$1
+ ALTER ON \$1.\$1
+ DROP ON \$1.\$1
+ INDEX ON \$1.\$1
+ REFERENCES ON \$1.\$1
+ SELECT ON \$1.\$1
+ CREATE VIEW ON \$1.\$1
+ SHOW VIEW ON \$1.\$1
+ TRIGGER ON \$1.\$1
+ CREATE ROUTINE ON \$1.\$1
+ ALTER ROUTINE ON \$1.\$1
+ EXECUTE ON \$1.\$1
+ INSERT, UPDATE ON AWS\$1POSTGRESQL\$1EXT.\$1
+ INSERT, UPDATE, DELETE ON AWS\$1POSTGRESQL\$1EXT\$1DATA.\$1
+ CREATE TEMPORARY TABLES ON AWS\$1POSTGRESQL\$1EXT\$1DATA.\$1

次のコード例を使用してデータベースユーザーを作成し、権限を付与できます。

```
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\$1name*] をお客様の設定のユーザー名に置き換えます。次に、*your\$1password* を安全なパスワードに置き換えます。

Amazon RDS for MySQL または Aurora MySQL をターゲットとして使用するには、`lower_case_table_names` パラメータを `1` に設定します。この値は、MySQL サーバーがテーブル、インデックス、トリガー、データベースなどのオブジェクト名の識別子を、大文字と小文字を区別せずに処理することを意味します。ターゲットインスタンスでバイナリログを有効にしている場合は、`log_bin_trust_function_creators` パラメータを `1` と設定します。この場合、ストアド関数を作成するのに、`DETERMINISTIC` 特性、`READS SQL DATA` 特性、`NO SQL` 特性を使用する必要はありません。これらのパラメータを設定するには、新しい DB パラメータグループを作成するか、既存の DB パラメータグループを変更します。