

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://www.amazonaws.cn/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# SVL\_QLOG
<a name="r_SVL_QLOG"></a>

SVL\_QLOG 视图包含针对数据库运行的所有查询的日志。

Amazon Redshift 创建 SVL\_QLOG 视图作为 [STL\_QUERY](r_STL_QUERY.md) 表中信息的可读子集。使用该表可找出最近运行的查询的查询 ID，或查看完成某项查询用了多长时间。

SVL\_QLOG 对所有用户可见。超级用户可以查看所有行；普通用户只能查看其自己的数据。有关更多信息，请参阅 [系统表和视图中的数据可见性](cm_chap_system-tables.md#c_visibility-of-data)。

此表中的部分或全部数据也可以在 SYS 监控视图 [SYS\_QUERY\_HISTORY](SYS_QUERY_HISTORY.md) 中找到。SYS 监控视图中的数据经过格式化处理，便于使用和理解。我们建议您使用 SYS 监控视图进行查询。

## 表列
<a name="r_SVL_QLOG-table-columns"></a>


| 列名称  | 数据类型  | 描述  | 
| --- | --- | --- | 
| userid  | integer  | 生成该条目的用户 ID。 | 
| query  | integer  | 查询 ID。您可以使用此 ID 联接各种其他系统表和视图。 | 
| xid  | bigint  | 事务 ID。 | 
| pid  | integer  | 与查询关联的进程 ID。 | 
| starttime  | timestamp | 开始执行语句的确切时间，秒的小数部分以 6 位精度表示 – 例如：2009-06-12 11:29:19.131358 | 
| endtime  | timestamp | 执行完语句的确切时间，秒的小数部分以 6 位精度表示 – 例如：2009-06-12 11:29:19.193640 | 
| elapsed  | bigint  | 运行查询花费了多长时间（单位为微秒）。 | 
| aborted  | integer  | 如果查询已由系统停止或已由用户取消，则此列包含 1。如果查询运行完成，则此列包含 0。因工作负载管理目的取消（随后重新启动）的查询在此列中的值也为 1。 | 
| label  | character(320)  | 用于运行查询的文件的名称或使用 SET QUERY\_GROUP 命令定义的标签。如果查询并非基于文件或未设置 QUERY\_GROUP 参数，则此字段值为 default。 | 
| substring | character(60)  | 截断的查询文本。 | 
| source\_query | integer | 如果查询使用了结果缓存，则是缓存结果源自的查询的查询 ID。如果未使用结果缓存，则此字段值为 NULL。 | 
| concurrency\_scaling\_status\_txt | text | 关于查询运行在主集群还是并发扩展集群上的描述。 | 
| from\_sp\_call | integer | 如果从存储过程调用了查询，则为过程调用的查询 ID。如果没有在存储过程中运行查询，则此字段为 NULL。 | 

## 示例查询
<a name="r_SVL_QLOG-sample-queries"></a>

下面的示例返回 `userid = 100` 的用户最近运行的五个数据库查询的查询 ID、执行时间和截断的查询文本。

```
select query, pid, elapsed, substring from svl_qlog
where userid = 100
order by starttime desc
limit 5;

 query  |  pid  | elapsed  |           substring
--------+-------+----------+-----------------------------------------------
 187752 | 18921 | 18465685 | select query, elapsed, substring from svl_...
 204168 |  5117 |    59603 | insert into testtable values (100);
 187561 | 17046 |  1003052 | select * from pg_table_def where tablename...
 187549 | 17046 |  1108584 | select * from STV_WLM_SERVICE_CLASS_CONFIG
 187468 | 17046 |  5670661 | select * from pg_table_def where schemaname...
(5 rows)
```

下面的示例返回已取消的查询 (**aborted=1**) 的 SQL 脚本名称（LABEL 列）和已用时间：

```
select query, elapsed, trim(label) querylabel
from svl_qlog where aborted=1;
 
 query | elapsed  |       querylabel
-------+----------+-------------------------
    16 |  6935292 | alltickittablesjoin.sql
(1 row)
```