从COPY命令返回查询ID

时间:2014-03-12 14:27:56

标签: python psycopg2 amazon-redshift

我有一个Python脚本,使用psycopg2执行COPY命令将数据从S3复制到Redshift,这在cron计划中运行正常。

现在我想做一些数据每次都正确加载的检查,并想查询STL_LOAD_COMMITSSTL_LOAD_ERRORS表。

有没有人知道是否有办法从ID命令返回查询COPY,以便它可以用来查询上面的表并检索相关的日志记录?

我不相信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 个答案:

答案 0 :(得分:2)

根据建议,使用PG_LAST_COPY_ID()将返回上次执行的COPY查询ID。

来源AWS Redshift PG_LAST_COPY_ID()