从COPY命令返回查询ID
我有一个Python脚本,它使用psycopg2
来执行COPY
命令,把数据从S3复制到Redshift,这个过程在定时任务中运行得很好。
现在我想每次都检查一下数据是否正确加载,并想查询STL_LOAD_COMMITS
和STL_LOAD_ERRORS
这两个表。
有没有人知道有没有办法获取COPY
命令返回的查询ID
,这样我就可以用它来查询上面的表,获取相关的日志记录?
我觉得COPY
并不返回任何东西,但如果有人找到过什么聪明的方法来在代码中检查加载情况,我会很感兴趣。
补充:也许正确的方法是用文件名来查询,而不是查询ID,因为我知道我加载的文件名。
select *
from STL_LOAD_COMMITS
where filename in ('s3://bucket/4f737c05-8f16-4ba7-8f50-30423369c389.csv.gz',
's3://bucket/5fe4fea9-a9e4-4622-b9f6-ed3f98f7d1e2.csv.gz')
1 个回答
3
使用 PG_LAST_COPY_ID()
这个函数,它的意思就是会返回最后一次执行的 COPY
查询的 ID。