

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# PostgreSQL 诊断支持脚本
<a name="CHAP_SupportScripts.PostgreSQL"></a>

接下来，您可以找到可用于分析迁移配置中的任何 PostgreSQL RDBMS（本地、Amazon RDS 或 Aurora PostgreSQL）的诊断支持脚本。 AWS DMS 这些脚本可以与源端点或目标端点一起使用。这些脚本均编写为在 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 大小相关的特定功能。如需更多信息，请与 Suppor AWS t 联系。

以下主题介绍如何下载、查看和运行可用于 PostgreSQL 的各个支持脚本。它们还描述了如何查看脚本输出并将其上传到您的 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。

**运行脚本并将结果上传到您的支持案例**

1. 请执行以下操作之一：
   + 使用以下 psql 命令行在数据库环境中运行脚本。

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

     在随后出现的提示中，输入您要迁移的唯一一个架构的名称。

     在随后出现的提示中，输入您已定义用于连接数据库的用户的名称（`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)。