

# aurora\$1stat\$1get\$1db\$1commit\$1latency
<a name="aurora_stat_get_db_commit_latency"></a>

获取 Aurora PostgreSQL 数据库的累积提交延迟时间（以微秒为单位）。按照为客户端提交提交请求到接收提交确认之间的时间测量*提交延迟*。

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

 

```
aurora_stat_get_db_commit_latency(database_oid)
```

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

 *database\$1oid*   
Aurora PostgreSQL 数据库的对象 ID（OID）。

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

SETOF 记录

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

Amazon CloudWatch 使用此函数来计算平均提交延迟。有关 Amazon CloudWatch 指标以及如何解决高提交延迟问题的更多信息，请参阅[在 Amazon RDS 控制台中查看指标](USER_Monitoring.md)和[使用 Amazon CloudWatch 指标更好地制定有关 Amazon RDS 的决策](https://aws.amazon.com/blogs/database/making-better-decisions-about-amazon-rds-with-amazon-cloudwatch-metrics/)。

您可以使用 PostgreSQL 统计信息访问函数 `pg_stat_reset` 重置此统计信息。您可以使用 `pg_stat_get_db_stat_reset_time` 函数检查上次重置此统计信息的时间。有关 PostgreSQL 统计访问函数的更多信息，请参阅 PostgreSQL 文档中的[统计收集器](https://www.postgresql.org/docs/9.1/monitoring-stats.html)。

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

以下示例获取 `pg_database` 集群中每个数据库的累积提交延迟。

```
=> SELECT oid, 
    datname, 
    aurora_stat_get_db_commit_latency(oid) 
    FROM pg_database;
     
  oid  |    datname     | aurora_stat_get_db_commit_latency
-------+----------------+-----------------------------------
 14006 | template0      |                                 0
 16384 | rdsadmin       |                         654387789
     1 | template1      |                                 0
 16401 | mydb           |                            229556
 69768 | postgres       |                             22011
```

以下示例获取当前连接的数据库的累积提交延迟。在调用 `aurora_stat_get_db_commit_latency` 函数之前，该示例首先使用 `\gset` 为参数定义 `oid` 变量并从连接的数据库中设置其值。

```
––Get the oid value from the connected database before calling aurora_stat_get_db_commit_latency
=> SELECT oid
     FROM pg_database
    WHERE datname=(SELECT current_database()) \gset
=> SELECT * 
     FROM aurora_stat_get_db_commit_latency(:oid);
   
 aurora_stat_get_db_commit_latency
-----------------------------------
                        1424279160
```

以下示例获取 `pg_database` 集群中 `mydb` 数据库的累积提交延迟。然后，它使用 `pg_stat_reset` 函数重置此统计信息并显示结果。最后，它使用 `pg_stat_get_db_stat_reset_time` 函数来检查上次重置此统计信息的时间。

```
=> SELECT oid,
    datname,
    aurora_stat_get_db_commit_latency(oid)
    FROM pg_database
    WHERE datname = 'mydb';
     
  oid  |  datname  | aurora_stat_get_db_commit_latency
-------+-----------+-----------------------------------
 16427 | mydb      |                           3320370


=> SELECT pg_stat_reset();
 pg_stat_reset
---------------

    
=> SELECT oid,
          datname,
          aurora_stat_get_db_commit_latency(oid)
     FROM pg_database
    WHERE datname = 'mydb';    
  oid  |  datname  | aurora_stat_get_db_commit_latency
-------+-----------+-----------------------------------
 16427 | mydb      |                                 6
    
    
=> SELECT * 
     FROM pg_stat_get_db_stat_reset_time(16427);
     
 pg_stat_get_db_stat_reset_time
--------------------------------
 2021-04-29 21:36:15.707399+00
```