

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

# PostgreSQL 診断 Support スクリプト
<a name="CHAP_SupportScripts.PostgreSQL"></a>

以下は、 AWS DMS 移行設定で PostgreSQL RDBMS (オンプレミス、Amazon RDS、または Aurora PostgreSQL) を分析するために使用できる診断サポートスクリプトです。これらのスクリプトは、ソース エンドポイントまたはターゲット エンドポイントで使用できます。スクリプトはすべて psql コマンドライン ユーティリティで実行するように記述されています。

これらのスクリプトを実行する前に、使用するユーザーアカウントに PostgreSQL RDBMS へのアクセス許可があることを確認してください。
+ PostgreSQL 10.x 以降 – `pg_catalog.pg_ls_waldir` 関数の実行アクセス権限を持つユーザーアカウント
+ PostgreSQL 9.x 以前 — デフォルト許可を持つユーザーアカウント。

これらのスクリプトを実行するには、適切な許可を持つ既存のアカウントを使用することをお勧めします。

これらのスクリプトを実行するために新しいユーザーアカウントを作成するか、既存のアカウントに許可を付与する必要がある場合は、PostgreSQL バージョンに基づく任意の PostgreSQL RDBMS に対して次の SQL コマンドを実行できます。

**PostgreSQL データベースバージョン 10.x 以降でこのスクリプトを実行するアクセス権限をアカウントに付与するには**
+ 次のいずれかを行います。
  + 新しいユーザーアカウントの場合は、以下を実行します。

    ```
    CREATE USER script_user WITH PASSWORD 'password';
    GRANT EXECUTE ON FUNCTION pg_catalog.pg_ls_waldir TO script_user;
    ```
  + 既存のユーザーアカウントの場合は、以下を実行します。

    ```
    GRANT EXECUTE ON FUNCTION pg_catalog.pg_ls_waldir TO script_user;
    ```

**PostgreSQL 9.x 以前のデータベースに対してこれらのスクリプトを実行する許可をアカウントに付与するには**
+ 次のいずれかを行います。
  + 新しいユーザーアカウントでは、デフォルトのアクセス許可を使用して以下を実行します。

    ```
    CREATE USER script_user WITH PASSWORD password;
    ```
  + 既存のユーザーアカウントの場合は、既存の許可を使用します。

**注記**  
これらのスクリプトは、PostgreSQL 9.x 以前のデータベースの WAL サイズの検索に関連する特定の機能をサポートしていません。詳細については、 AWS サポートにお問い合わせください。

次のトピックでは、PostgreSQL で使用可能な各 Support スクリプトのダウンロードおよび確認、実行方法について説明します。また、スクリプト出力を確認して、 AWS Support ケースにアップロードする方法についても説明します。

**Topics**
+ [awsdms\$1support\$1collector\$1postgres.sql スクリプト](#CHAP_SupportScripts.PostgreSQL.Awsdms_Support_Collector_PostgreSQL_Script)

## awsdms\$1support\$1collector\$1postgres.sql スクリプト
<a name="CHAP_SupportScripts.PostgreSQL.Awsdms_Support_Collector_PostgreSQL_Script"></a>

[https://d2pwp9zz55emqw.cloudfront.net/scripts/awsdms_support_collector_postgres.sql](https://d2pwp9zz55emqw.cloudfront.net/scripts/awsdms_support_collector_postgres.sql) スクリプトをダウンロードします。

このスクリプトは PostgreSQL データベースの設定に関する情報を収集します。スクリプトのチェックサムを必ず確認してください。チェックサムが検証する場合は、スクリプト内の SQL コードを確認して、実行しにくいコードをコメントアウトします。スクリプトの整合性と内容に納得できたら、スクリプトを実行できます。

**注記**  
このスクリプトは、psql クライアントバージョン 10 以降で実行できます。

次の手順を使用して、データベース環境またはコマンドラインからこのスクリプトを実行できます。いずれの場合も、後でファイルを AWS Support にアップロードできます。

**このスクリプトを実行して結果を Support ケースにアップロードするには**

1. 次のいずれかを行います。
   + 次の psql コマンドラインを使用して、データベース環境からスクリプトを実行します。

     ```
     dbname=# \i awsdms_support_collector_postgres.sql
     ```

     次のプロンプトで、移行するスキーマの名前を 1 つだけ入力します。

     次のプロンプトで、データベースに接続するように定義しているユーザー名 (`script_user`)を入力します。
   + コマンドラインから直接、次のスクリプトを実行します。このオプションは、スクリプトの実行前のプロンプトを回避します。

     ```
     psql -h database-hostname -p port -U script_user -d database-name -f awsdms_support_collector_postgres.sql
     ```

1. 出力 HTML ファイルを確認し、共有しにくい情報をすべて削除します。HTML の共有に納得できたら、ファイルを AWS Support ケースにアップロードします。ファイルのアップロードの詳細については、「[での診断サポートスクリプトの使用 AWS DMS](CHAP_SupportScripts.md)」をご参照ください。