跳至内容

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

2 分钟阅读
0

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

简短描述

Aurora PostgreSQL 兼容版在性能详情中处理文本的方式与其他引擎类型(例如 Aurora MySQL 兼容版)不同。默认情况下,性能详情控制面板上 Top SQL(热门 SQL)选项卡下的每一行均会显示每条 SQL 语句的 500 字节的 SQL 文本。当 SQL 语句的长度超过 500 字节时,您可以在 Top SQL(热门 SQL)表下方的 SQL text(SQL 文本)部分中查看更多文本。SQL 文本部分中显示的文本的最大长度为 4 KB。如果 SQL 语句的长度超过 4,096 个字符,则 SQL text(SQL 文本)部分将显示截断后的版本。但是,您可以从 TOP SQL(热门 SQL)选项卡的 SQL text(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

解决方法

您可以使用 Aurora 和 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 则可设置为默认值 4,096 字节。在这种情况下,无法下载完整的 SQL。当引擎运行性能详情的 SQL 文本时,Aurora 和 RDS 控制台仅显示前 4 KB。将 track_activity_query_size 的值增加到 1 MB 或更大,然后下载完整查询。在这种情况下,查看和下载 SQL 文本会返回不同的字节数。

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

  1. 打开 Aurora 和 RDS 控制台。
  2. 在导航窗格中,选择 Performance Insights(性能详情)。
  3. 选择要查看其性能详情的数据库实例。
  4. 从 Top SQL(热门 SQL)选项卡中,选择要查看的 SQL 语句。
  5. 在 SQL text(SQL 文本)选项卡下,您最多可以查看每条 SQL 语句的 4,096 个字节。如果 SQL 语句的长度在此限制范围内,请选择 Copy(复制)以复制 SQL。
  6. 如果 SQL 语句的长度大于 4,096 字节,则此视图将显示截断的语句。选择 Download(下载)以下载完整的 SQL。

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

相关信息

Viewing Aurora PostgreSQL DB cluster and DB parameters(查看 Aurora PostgreSQL 数据库集群和数据库参数)

Rebooting an Aurora cluster (Aurora PostgreSQL and Aurora MySQL before version 2.10)(重启 Aurora 集群(版本 2.10 之前的 Aurora PostgreSQL 和 Aurora MySQL))

AWS 官方已更新 4 年前