

# IPC:DamRecordTxAck
<a name="apg-waits.ipcdamrecordtxac"></a>

当 Aurora PostgreSQL 在使用数据库活动流的会话中生成活动流事件，然后等待该事件变为持久事件时，会发生 `IPC:DamRecordTxAck` 事件。

**Topics**
+ [相关引擎版本](#apg-waits.ipcdamrecordtxac.context.supported)
+ [上下文](#apg-waits.ipcdamrecordtxac.context)
+ [原因](#apg-waits.ipcdamrecordtxac.causes)
+ [操作](#apg-waits.ipcdamrecordtxac.actions)

## 相关引擎版本
<a name="apg-waits.ipcdamrecordtxac.context.supported"></a>

此等待事件信息与所有的 Aurora PostgreSQL 10.7 及更高的 10.x 版本、11.4 及更高的 11.x 版本以及所有的 12.x 和 13.x 版本相关。

## 上下文
<a name="apg-waits.ipcdamrecordtxac.context"></a>

在同步模式下，活动流事件的持久性优于数据库性能。在等待持久写入事件时，会话会阻止其他数据库活动，从而导致 `IPC:DamRecordTxAck` 等待事件。

## 原因
<a name="apg-waits.ipcdamrecordtxac.causes"></a>

显示在主要等待中的 `IPC:DamRecordTxAck` 事件的最常见原因是数据库活动流 (DAS) 功能是一项全面审计。较高的 SQL 活动会生成需要记录的活动流事件。

## 操作
<a name="apg-waits.ipcdamrecordtxac.actions"></a>

根据等待事件的原因，我们建议采取不同的操作：
+ 减少 SQL 语句的数量或关闭数据库活动流。这样可以减少需要持久写入的事件数量。
+ 更改为异步模式。这样做有助于减少对 `IPC:DamRecordTxAck` 等待事件的争用。

  但是，DAS 功能无法保证每个事件在异步模式下的持久性。