我正在使用 Redshift COPY 命令将数据从 S3 加载到 Redshift 表中。当出现问题时,我通常会收到一个错误ERROR: Load into table 'example' failed. Check 'stl_load_errors' system table for details。我总是可以stl_load_errors手动查找以获取详细信息。现在,我试图弄清楚如何自动执行此操作。
从文档看来,以下查询应该提供我需要的所有详细信息:
SELECT *
FROM stl_load_errors errors
INNER JOIN svv_table_info info
ON errors.tbl = info.table_id
AND info.schema = '<schema-name>'
AND info.table = '<table-name>'
Run Code Online (Sandbox Code Playgroud)
但是它总是什么都不返回。我也尝试使用stv_tbl_perm代替svv_table_info,但仍然没有。
经过一些故障排除后,我看到了两件我不明白的事情:
stv_tbl_perm,并svv_table_info在完全相同的表。这是为什么?tbl归档stl_load_errors在stv_tbl_perm或 中不存在的引用 ID svv_table_info。又为什么?感觉我不了解这些表的结构中的某些内容,但它完全使我无法理解。