STV_LOAD_STATE
使用 STV_LOAD_STATE 表可以查找有关正在进行的 COPY 语句当前状态的信息。
每加载百万条记录后,COPY 命令就会更新此表。
STV_LOAD_STATE 对所有用户可见。超级用户可以查看所有行;普通用户只能查看其自己的数据。有关更多信息,请参阅 系统表和视图中的数据可见性。
表列
列名称 | 数据类型 | 描述 |
---|---|---|
userid | integer | 生成条目的用户的 ID。 |
session | integer | 执行加载的进程的会话 PID。 |
query | integer | 查询 ID。可用于联接各种其他系统表和视图。 |
slice | integer | 节点分片编号。 |
pid | integer | 进程 ID。会话中的所有查询在同一进程中运行,因此,如果您在同一会话中运行一系列查询,则此值保持不变。 |
recordtime | timestamp | 记录的记录时间。 |
bytes_to_load | bigint | 此分片要加载的总字节数。如果要加载的数据已压缩,则为 0。 |
bytes_loaded | bigint | 此分片加载的字节数。如果要加载的数据已压缩,则这是指解压缩数据后加载的字节数。 |
bytes_to_load_compressed | bigint | 此分片要加载的已压缩数据的总字节数。如果要加载的数据未压缩,则为 0。 |
bytes_loaded_compressed | bigint | 此分片加载的已压缩数据的字节数。如果要加载的数据未压缩,则为 0。 |
lines | integer | 此分片加载的行数。 |
num_files | integer | 此分片要加载的文件数。 |
num_files_complete | integer | 此分片加载的文件数。 |
current_file | character(256) | 此分片要加载的文件的名称。 |
pct_complete | integer | 此分片完成的数据加载百分比。 |
示例查询
要查看 COPY 命令的每个分片进度,请键入以下查询。此示例使用 PG_LAST_COPY_ID() 函数检索最后一条 COPY 命令的信息。
select slice , bytes_loaded, bytes_to_load , pct_complete from stv_load_state where query = pg_last_copy_id(); slice | bytes_loaded | bytes_to_load | pct_complete -------+--------------+---------------+-------------- 2 | 0 | 0 | 0 3 | 12840898 | 39104640 | 32 (2 rows)