是否有任何Redshift系统表显示COPY语句中加载了多少条记录?

时间:2017-03-13 14:13:22

标签: amazon-redshift

我找不到任何系统表,即使加入了几个系统表,也有信息显示用COPY语句加载了多少条记录。我查看过pg_catalog架构中的一堆表格,但找不到任何内容

2 个答案:

答案 0 :(得分:1)

系统表STL_LOAD_COMMITS显示已加载的记录数每个文件但它没有提供将加载与正在加载的表关联的简单方法(仅query_id提供)。

但是COPY以一致的方式将加载的行计数返回给客户端,可以捕获和解析。例如:

INFO:  Load into table 'my_table' completed, 7304953 record(s) loaded successfully.

我在bash脚本中提交我的加载并捕获此返回行。例如,在名为COPY的变量中使用sql语句:

copy=`psql -v ON_ERROR_STOP=1 -h $3 -d "$4" -c "$sql"`;

将创建一个包含copy行的新变量INFO…

答案 1 :(得分:0)

如果您在加载文件中使用新行字符作为新行,则可以查询表STL_LOAD_COMMITS并检查lines_scanned列,它们为您提供表中复制的行数。