SYS_LOAD_DETAIL
返回用于跟踪或排查数据加载的信息。
此视图记录了在每个数据文件加载到数据库表中时的进度。
此视图对所有用户可见。超级用户可以查看所有行;普通用户只能查看其自己的数据。有关更多信息,请参阅 系统表和视图中的数据可见性。
表列
列名称 | 数据类型 | 描述 |
---|---|---|
user_id | 整数 | 生成该条目的用户 ID。 |
query_id | 整数 | 查询 ID。 |
file_name | character(256) | 要加载的文件名。 |
bytes_scanned | 整数 | 从 Amazon S3 内的文件中扫描到的字节数。 |
lines_scanned | integer | 从加载文件中扫描的行数。此数字可能与实际加载的行数不匹配。例如,根据 COPY 命令中的 MAXERROR 选项,加载操作可能会扫描但会容忍大量的错误记录。 |
record_time | 时间戳 | 上次更新此条目的时间。 |
splits_scanned | 此文件的拆分次数。 | 此文件的拆分次数。 |
start_time | 时间戳 | 开始此文件处理的时间。 |
end_time | 时间戳 | 完成此文件处理的时间。 |
示例查询
以下示例返回上次 COPY 操作的详细信息。
select query_id, trim(file_name) as file, record_time from sys_load_detail where query_id = pg_last_copy_id(); query_id | file | record_time ----------+----------------------------------+---------------------------- 28554 | s3://dw-tickit/category_pipe.txt | 2013-11-01 17:14:52.648486 (1 row)
以下查询包含 TICKIT 数据库中初次加载表时的条目:
select query_id, trim(file_name), record_time from sys_load_detail where file_name like '%tickit%' order by query_id; query_id | btrim | record_time ----------+--------------------------+---------------------------- 22475 | tickit/allusers_pipe.txt | 2013-02-08 20:58:23.274186 22478 | tickit/venue_pipe.txt | 2013-02-08 20:58:25.070604 22480 | tickit/category_pipe.txt | 2013-02-08 20:58:27.333472 22482 | tickit/date2008_pipe.txt | 2013-02-08 20:58:28.608305 22485 | tickit/allevents_pipe.txt| 2013-02-08 20:58:29.99489 22487 | tickit/listings_pipe.txt | 2013-02-08 20:58:37.632939 22593 | tickit/allusers_pipe.txt | 2013-02-08 21:04:08.400491 22596 | tickit/venue_pipe.txt | 2013-02-08 21:04:10.056055 22598 | tickit/category_pipe.txt | 2013-02-08 21:04:11.465049 22600 | tickit/date2008_pipe.txt | 2013-02-08 21:04:12.461502 22603 | tickit/allevents_pipe.txt| 2013-02-08 21:04:14.785124 22605 | tickit/listings_pipe.txt | 2013-02-08 21:04:20.170594 (12 rows)
向此系统视图的日志文件写入一个记录的事实并不表示加载操作已作为其所属的事务的一部分成功提交。要验证加载提交,请查询 STL_UTILITYTEXT 视图并查找与 COPY 事务对应的 COMMIT 记录。例如,此查询基于针对 STL_UTILITYTEXT 的子查询联接 SYS_LOAD_DETAIL 和 STL_QUERY:
select l.query_id,rtrim(l.file_name),q.xid from sys_load_detail l, stl_query q where l.query_id=q.query and exists (select xid from stl_utilitytext where xid=q.xid and rtrim("text")='COMMIT'); query_id | rtrim | xid ----------+---------------------------+------- 22600 | tickit/date2008_pipe.txt | 68311 22480 | tickit/category_pipe.txt | 68066 7508 | allusers_pipe.txt | 23365 7552 | category_pipe.txt | 23415 7576 | allevents_pipe.txt | 23429 7516 | venue_pipe.txt | 23390 7604 | listings_pipe.txt | 23445 22596 | tickit/venue_pipe.txt | 68309 22605 | tickit/listings_pipe.txt | 68316 22593 | tickit/allusers_pipe.txt | 68305 22485 | tickit/allevents_pipe.txt | 68071 7561 | allevents_pipe.txt | 23429 7541 | category_pipe.txt | 23415 7558 | date2008_pipe.txt | 23428 22478 | tickit/venue_pipe.txt | 68065 526 | date2008_pipe.txt | 2572 7466 | allusers_pipe.txt | 23365 22482 | tickit/date2008_pipe.txt | 68067 22598 | tickit/category_pipe.txt | 68310 22603 | tickit/allevents_pipe.txt | 68315 22475 | tickit/allusers_pipe.txt | 68061 547 | date2008_pipe.txt | 2572 22487 | tickit/listings_pipe.txt | 68072 7531 | venue_pipe.txt | 23390 7583 | listings_pipe.txt | 23445 (25 rows)