

# aurora\$1wait\$1report
<a name="aurora_wait_report"></a>

此函数显示一段时间内的等待事件活动。

## 语法
<a name="aurora_wait_report-syntax"></a>

 

```
aurora_wait_report([time])
```

## 参数
<a name="aurora_wait_report-arguments"></a>

 *时间（可选）*   
以秒为单位的时间。默认为 10 秒。

## 返回类型
<a name="aurora_wait_report-return-type"></a>

包含以下列的 SETOF 记录：
+ type\$1name – 等待类型名称
+ event\$1name – 等待事件名称
+ 等待 – 等待次数
+ wait\$1time – 以毫秒为单位的等待时间 
+ ms\$1per\$1wait – 按等待次数计算的平均毫秒数
+ waits\$1per\$1xact – 按一个事务数计算的平均等待次数
+ ms\$1per\$1xact – 按事务数计算的平均毫秒数

## 使用说明
<a name="aurora_wait_report-usage-notes"></a>

此函数从与 PostgreSQL 9.6.6 及更高版本兼容的 Aurora PostgreSQL 版本 1.1 开始提供。

要使用此函数，您首先需要创建 Aurora PostgreSQL `aurora_stat_utils` 扩展，如下所示：

```
=> CREATE extension aurora_stat_utils;
CREATE EXTENSION
```

有关可用的 urora PostgreSQL 扩展版本的更多信息，请参阅《Aurora PostgreSQL 发布说明》中的[适用于 Amazon Aurora PostgreSQL 的扩展版本](https://docs.amazonaws.cn/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/AuroraPostgreSQL.Extensions.html)。

此函数通过将 aurora\$1stat\$1system\$1waits() 函数和 pg\$1stat\$1database PostgreSQL 统计信息视图中的两个统计信息数据快照进行比较来计算实例级等待事件。

有关 `aurora_stat_system_waits()` 和 `pg_stat_database` 的更多信息，请参阅 *PostgreSQL 文档*中的[统计信息收集器](https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-DATABASE-VIEW)。

运行时，此函数会拍摄初始快照，等待指定的秒数，然后再拍摄第二个快照。此函数会比较两个快照并返回差异。此差异代表实例在该时间间隔内的活动。

在写入器实例上，此函数还显示已提交的事务数和 TPS（每秒事务数）。此函数返回实例级别的信息，包括实例上的所有数据库。

## 示例
<a name="aurora_wait_report-examples"></a>

此示例说明如何创建 aurora\$1stat\$1utils 扩展，以便能够使用 aurora\$1wait\$1report 函数。

```
=> CREATE extension aurora_stat_utils;
CREATE EXTENSION
```

此示例说明如何检查 10 秒的等待报告。

```
=> SELECT *
     FROM aurora_wait_report();
NOTICE:  committed 34 transactions in 10 seconds (tps 3)
 type_name |    event_name     | waits | wait_time | ms_per_wait | waits_per_xact | ms_per_xact
-----------+-------------------+-------+-----------+-------------+----------------+-------------
 Client    | ClientRead        |    26 |  30003.00 |    1153.961 |           0.76 |     882.441
 Activity  | WalWriterMain     |    50 |  10051.32 |     201.026 |           1.47 |     295.627
 Timeout   | PgSleep           |     1 |  10049.52 |   10049.516 |           0.03 |     295.574
 Activity  | BgWriterHibernate |     1 |  10048.15 |   10048.153 |           0.03 |     295.534
 Activity  | AutoVacuumMain    |    18 |   9941.66 |     552.314 |           0.53 |     292.402
 Activity  | BgWriterMain      |     1 |    201.09 |     201.085 |           0.03 |       5.914
 IO        | XactSync          |    15 |     25.34 |       1.690 |           0.44 |       0.745
 IO        | RelationMapRead   |    12 |      0.54 |       0.045 |           0.35 |       0.016
 IO        | WALWrite          |    84 |      0.21 |       0.002 |           2.47 |       0.006
 IO        | DataFileExtend    |     1 |      0.02 |       0.018 |           0.03 |       0.001
```

此示例说明如何检查 60 秒的等待报告。

```
=> SELECT *
     FROM aurora_wait_report(60);
NOTICE:  committed 1544 transactions in 60 seconds (tps 25)
 type_name |       event_name       |  waits  | wait_time | ms_per_wait | waits_per_xact | ms_per_xact
-----------+------------------------+---------+-----------+-------------+----------------+-------------
 Lock      | transactionid          |    6422 | 477000.53 |      74.276 |           4.16 |     308.938
 Client    | ClientRead             |    8265 | 270752.99 |      32.759 |           5.35 |     175.358
 Activity  | CheckpointerMain       |       1 |  60100.25 |   60100.246 |           0.00 |      38.925
 Timeout   | PgSleep                |       1 |  60098.49 |   60098.493 |           0.00 |      38.924
 Activity  | WalWriterMain          |     296 |  60010.99 |     202.740 |           0.19 |      38.867
 Activity  | AutoVacuumMain         |     107 |  59827.84 |     559.139 |           0.07 |      38.749
 Activity  | BgWriterMain           |     290 |  58821.83 |     202.834 |           0.19 |      38.097
 IO        | XactSync               |    1295 |  55220.13 |      42.641 |           0.84 |      35.764
 IO        | WALWrite               | 6602259 |  47810.94 |       0.007 |        4276.07 |      30.966
 Lock      | tuple                  |     473 |  29880.67 |      63.173 |           0.31 |      19.353
 LWLock    | buffer_mapping         |     142 |   3540.13 |      24.930 |           0.09 |       2.293
 Activity  | BgWriterHibernate      |     290 |   1124.15 |       3.876 |           0.19 |       0.728
 IO        | BufFileRead            |    7615 |    618.45 |       0.081 |           4.93 |       0.401
 LWLock    | buffer_content         |      73 |    345.93 |       4.739 |           0.05 |       0.224
 LWLock    | lock_manager           |      62 |    191.44 |       3.088 |           0.04 |       0.124
 IO        | RelationMapRead        |      72 |      5.16 |       0.072 |           0.05 |       0.003
 LWLock    | ProcArrayLock          |       1 |      2.01 |       2.008 |           0.00 |       0.001
 IO        | ControlFileWriteUpdate |       2 |      0.03 |       0.013 |           0.00 |       0.000
 IO        | DataFileExtend         |       1 |      0.02 |       0.018 |           0.00 |       0.000
 IO        | ControlFileSyncUpdate  |       1 |      0.00 |       0.000 |           0.00 |       0.000
```