
# 查询事务列表 - QueryingTransactions
#### 功能介绍
查询数据库实例节点的实时事务列表。
- 调用接口前，您需要了解API [认证鉴权](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_011.html)。
- 调用接口前，您需要提前获取到[地区和终端节点](https://developer.huaweicloud.com/endpoint)。
 
#### 接口约束
仅支持包含有CN或DN（主、备）组件的节点。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=GaussDBforopenGauss&api=ListTransaction)中调试该接口。
#### URI
POST /v3/{project_id}/instances/{instance_id}/transactions/list
表1参数说明 
| 名称          | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| project_id  | 是    | String | **参数解释：** 租户在某一Region下的项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_196.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为32个字符。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| instance_id | 是    | String | **参数解释：** 实例ID，此参数是用户创建实例的唯一标识。请参考[查询数据库实例列表 - QueryingDBInstances](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_328.html)接口获取实例ID。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为36个字符。 **默认取值** **：** 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。 通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取。 请求响应成功后在响应消息头中包含的"X-Subject-Token"的值即为Token值。 **约束限制：** 不涉及。 **取值范围** **：** 不涉及。 **默认取值** **：** 不涉及。 |
| X-Language   | 否    | String | **参数解释：** 指定接口返回信息的语言类型。 **约束限制：** 不涉及。 **取值范围** **：** - **zh-cn：**中文  - **en-us** **：**英文   **默认取值** **：** **en-us**                 |
   
表3请求Body参数 
| 参数                     | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| node_id                | 是    | String  | **参数解释：** 节点ID，仅支持非日志类型的CN或DN节点。获取方式请参考[查询实例的组件列表 - QueryingtheComponentsofaDBInstance](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_028.html)。 **约束限制：** 不涉及。 **取值范围** **：** 不涉及。 **默认取值** **：** 不涉及。                 |
| component_id           | 是    | String  | **参数解释：** 组件ID，仅支持非日志类型的CN或DN节点。获取方式请参考[查询实例的组件列表 - QueryingtheComponentsofaDBInstance](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_028.html)。 **约束限制：** 不涉及。 **取值范围** **：** 不涉及。 **默认取值** **：** 不涉及。                           |
| offset                 | 否    | Integer | **参数解释：** 查询结果的事务起始页码。 **约束限制：** 不涉及。 **取值范围** **：** \[0，2147483647\] **默认取值** **：** 默认为0（偏移0条数据，表示从第一条数据开始查询）。                                                                                                                     |
| limit                  | 否    | Integer | **参数解释：** 查询结果的事务最大个数。 **约束限制：** 不涉及。 **取值范围** **：** \[1，100\] **默认取值** **：** 默认为10。                                                                                                                                                       |
| transaction_query_info | 否    | Object  | **参数解释：** 查询事务筛选条件。 详情请参见[表4] **约束限制：** 不涉及。 **取值范围** **：** 不涉及。 **默认取值** **：** 不涉及。 |
   
 表4TransactionQueryInfo说明 
| 参数            | 是否必选 | 参数类型           | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| exec_time     | 否    | String         | **参数解释：** 事务执行时长，单位：秒。 **约束限制：** 不涉及。 **取值范围** **：** 非负整数。 **默认取值** **：** 0                    |
| xlog_quantity | 否    | String         | **参数解释：** 事务xlog日志大小，单位：byte。 **约束限制：** 不涉及。 **取值范围** **：** 非负整数。 **默认取值** **：** 0        |
| datnames      | 否    | List\<String\> | **参数解释：** 数据库名。 **约束限制：** 不涉及。 **取值范围** **：** 不涉及。 **默认取值** **：** 不涉及。                     |
| usenames      | 否    | List\<String\> | **参数解释：** 用户名。 **约束限制：** 不涉及。 **取值范围** **：** 不涉及。 **默认取值** **：** 不涉及。                |
| client_addrs  | 否    | List\<String\> | **参数解释：** 用户发起事务请求的客户端地址。 **约束限制：** 不涉及。 **取值范围** **：** 不涉及。 **默认取值** **：** 不涉及。 |
   
#### 响应参数
表5响应Body参数 
| 参数    | 参数类型             | 描述                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| total | Integer          | **参数解释：** 查到的事务数量。 **取值范围** **：** 不涉及。 |
| rows  | Array of objects | **参数解释：** 事务信息列表，详细内容请参见[表6] 。                                                                                   |
   
 表6TransactionInfo说明 
| 参数               | 参数类型    | 描述                                                                                                                                                                                                                                                                                |
|:---|:---|:---|
| sessionid        | Integer | **参数解释：** 事务ID。 **取值范围** **：** 不涉及。           |
| pid              | Integer | **参数解释：** 线程ID。 **取值范围** **：** 不涉及。          |
| query_id         | Integer | **参数解释：** SQL查询ID。 **取值范围** **：** 不涉及。             |
| datname          | String  | **参数解释：** 数据库名。 **取值范围** **：** 不涉及。           |
| client_addr      | String  | **参数解释：** 用户发起事务请求的客户端地址。 **取值范围** **：** 不涉及。 |
| client_port      | Integer | **参数解释：** 用户发起事务请求的客户端端口。 **取值范围** **：** 不涉及。     |
| usename          | String  | **参数解释：** 用户名。 **取值范围** **：** 不涉及。               |
| query            | String  | **参数解释：** 查询的SQL语句。 **取值范围** **：** 不涉及。          |
| backend_start    | String  | **参数解释：** 会话开始时间。 **取值范围** **：** 不涉及。                                                                                              |
| xact_start       | String  | **参数解释：** 事务开始时间。 **取值范围** **：** 不涉及。                                                                                                  |
| application_name | String  | **参数解释：** 应用名称。 **取值范围** **：** 不涉及。                                                                                                       |
| state            | String  | **参数解释：** 事务状态。 **取值范围** **：** 不涉及。                                                                                                         |
| state_change     | String  | **参数解释：** 事务变更时间。 **取值范围** **：** 不涉及。                                                                                                 |
| query_start      | String  | **参数解释：** 查询开始时间。 **取值范围** **：** 不涉及。                                                                                               |
| waiting          | String  | **参数解释：** 等锁。 **取值范围** **：** 不涉及。                                                                                                    |
| unique_sql_id    | Integer | **参数解释：** 归一化的SQLID。 **取值范围** **：** 不涉及。                                                                                          |
| top_xid          | String  | **参数解释：** 顶层事务ID。 **取值范围** **：** 不涉及。                                                                                                |
| current_xid      | String  | **参数解释：** 当前事务ID。 **取值范围** **：** 不涉及。                                                                                                  |
| exec_time        | String  | **参数解释：** 事务执行时长，单位：秒。 **取值范围** **：** 不涉及。                                                                                            |
| xlog_quantity    | Integer | **参数解释：** xlog量，单位：byte。 **取值范围** **：** 不涉及。                                                                                         |
   
#### 请求示例
```
POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0611f1bd8b00d5d32f17c017f15b599f/instances/d04686c6baae4f65a742771186f47b7ain14/transactions/list
{ 
   "node_id" : "42cbf784585e419d9eb33c005f4ced94no14", 
   "component_id" : "dn_6001", 
   "limit" : 10, 
   "offset" : 0, 
   "transaction_query_info" : { 
     "exec_time" : "1000", 
     "xlog_quantity" : "999", 
     "datnames" : [ "postgres" ], 
     "usenames" : [ "root" ], 
     "client_addrs" : [ "172.0.0.1" ] 
   } 
}
```
#### 响应示例
```
{
    "total" : 1,
    "rows" : [ {
      "sessionid" : 25347,
      "pid" : 140625211029248,
      "query_id" : 0,
      "datname" : "postgres",
      "client_addr" : "127.0.0.1",
      "client_port" : 60256,
      "usename" : "root",
      "query" : "start transaction isolation level repeatable read;",
      "backend_start" : "2023-12-11 15:10:21.553063+08",
      "xact_start" : "2023-12-11 15:10:29.671267+08",
      "application_name" : "gsql",
      "state" : "idle in transaction",
      "state_change" : "2023-12-11 15:10:29.671345+08",
      "query_start" : "2023-12-11 15:10:29.671267+08",
      "waiting" : "f",
      "unique_sql_id" : 0,
      "top_xid" : "0",
      "current_xid" : "0",
      "exec_time" : "232",
      "xlog_quantity" : 0
    } ]
  }
```
#### 状态码
- 正常 200
  
- 异常 请参见[状态码](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_194.html)。
  
 
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_195.html)。
