Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

STL_QUERYTEXT

捕获 SQL 命令的查询文本。

查询 STL_QUERYTEXT 表以捕获为以下语句记录的 SQL:

  • SELECT、SELECT INTO

  • INSERT、UPDATE、DELETE

  • COPY

  • VACUUM、ANALYZE

  • CREATE TABLE AS (CTAS)

要查询某个给定时间段中针对这些语句的活动,请联接 STL_QUERYTEXT 和 STL_QUERY 表。

注意

STL_QUERY 和 STL_QUERYTEXT 表仅包含有关查询的信息,不包含有关其他实用工具和 DDL 命令的信息。对于有关 Amazon Redshift 执行的所有语句的列表和信息,您还可以查询 STL_DDLTEXT 和 STL_UTILITYTEXT 表。有关 Amazon Redshift 执行的所有语句的完整列表,您可以查询 SVL_STATEMENTTEXT 视图。

另请参阅 STL_DDLTEXTSTL_UTILITYTEXTSVL_STATEMENTTEXT

此表 对所有用户可见。超级用户可以查看所有行;普通用户只能看到自己的数据。有关更多信息,请参阅 系统表及视图中数据的可见性

表列

列名称 数据类型 描述
userid integer 生成该条目的用户 ID。
query integer 查询 ID。查询列可用于连接其他系统表和视图。
xid bigint 事务 ID。
pid integer 进程 ID。一般情况下,会话中的所有查询在同一进程中运行,因此,如果您在同一会话中运行一系列查询,则此值通常保持不变。在特定的内部事件之后,Amazon Redshift 可能会重新启动一个活动会话并分配新的 PID。有关更多信息,请参阅 STL_RESTARTED_SESSIONS。您可以使用此列联接到 STL_ERROR 表。
sequence integer 当一个语句包含 200 多个字符时,将为该语句记录额外的行。序列 0 是第一行,1 是第二行,依此类推。
text character(200) SQL 文本,以 200 个字符递增。

示例查询

您可以使用 PG_BACKEND_PID() 函数检索当前会话的信息。例如,以下查询返回当前会话中执行的查询的查询 ID 和一部分查询文本。

Copy
select query, substring(text,1,60) from stl_querytext where pid = pg_backend_pid() order by query desc; query | substring -------+-------------------------------------------------------------- 28262 | select query, substring(text,1,80) from stl_querytext where 28252 | select query, substring(path,0,80) as path from stl_unload_l 28248 | copy category from 's3://dw-tickit/manifest/category/1030_ma 28247 | Count rows in target table 28245 | unload ('select * from category') to 's3://dw-tickit/manifes 28240 | select query, substring(text,1,40) from stl_querytext where (6 rows)

本页内容: