如何从性能详情下载 Aurora PostgreSQL 兼容实例的完整 SQL 文本?

2 分钟阅读
0

我想从性能详情下载 Amazon Aurora PostgreSQL 兼容版数据库实例的完整 SQL 文本。

简短描述

Aurora PostgreSQL 兼容版在性能详情中处理文本的方式不同于其他引擎类型,例如 Aurora MySQL 兼容版。默认情况下,性能详情控制面板上 Top SQL(首要 SQL)选项卡下的每一行会显示每个 SQL 语句的 500 字节 SQL 文本。当 SQL 语句超过 500 字节时,可以在“首要 SQL”表下方的 SQL text(SQL 文本)部分中查看更多文本。SQL 文本部分中显示的文本的最大长度为 4 KB。如果 SQL 语句超过 4096 个字符,则截断的版本将显示在 SQL 文本部分中。但是,您可以从 TOP SQL 选项卡的 SQL 文本部分下载完整的 SQL 文本。

track_activity_query_size 数据库参数指定了为存储每个活动会话当前正在运行的命令文本而保留的内存量。这决定了要在 pg_stat_activity 查询列中显示的最大查询长度。要设置 SQL 语句的文本限制大小并将该限制存储在数据库中,请修改 track_activity_query_size 参数。您可以在实例或集群参数组级别修改此参数。查看 SQL 语句的文本限制大小的最小和最大允许值:

Aurora_Postgres_Version最小值最大值
10.x100102400
11.x100102400
12.x100102400
13.x1001048576
14.x1001048576

解决方法

您可以使用 Amazon Relational Database Service(Amazon RDS)控制台从性能详情下载完整的 SQL 文本。如果完整 SQL 文本大小超过了 track_activity_query_size 的值,请在下载 SQL 文本之前增加 track_activity_query_size 的值。track_activity_query_size 参数是静态的,因此在更改集群的值后必须重新启动该集群。

例如,SQL 文本大小可以设置为 1 MB,并且 track_activity_query_size 可设置为默认值 4096 字节。在这种情况下,无法下载完整的 SQL。当引擎将 SQL 文本运行到性能详情时,Amazon RDS 控制台仅显示前 4 KB。将 track_activity_query_size 的值增加到 1 MB 或更大,然后下载完整查询。在这种情况下,查看和下载 SQL 文本会返回不同的字节数。

在性能详情控制面板中,您可以按照以下步骤查看或下载完整的 SQL 文本:

1.    打开 Amazon RDS 控制台

2.    在导航窗格中,选择 Performance Insights(性能详情)。

3.    选择要查看其性能详情的数据库实例。

4.    从 Top SQL(首要 SQL)选项卡中,选择要查看的 SQL 语句。

5.    在 SQL text(SQL 文本)选项卡下,您最多可以查看每条 SQL 语句的 4,096 字节。如果 SQL 语句在此限制范围内,则选择 Copy(复制)以复制 SQL。

6.    如果 SQL 语句大于 4096,则在此视图中将其截断。选择 Download(下载)以下载完整 SQL。

注意:确保将 track_activity_query_size 参数设置为大于要下载的 SQL 语句的值。


相关信息

查看 Aurora PostgreSQL 数据库集群和数据库参数

重新启动 Aurora 集群(Aurora PostgreSQL 和 Aurora MySQL 2.10 之前的版本)

AWS 官方
AWS 官方已更新 1 年前