【发布时间】:2016-11-25 15:47:43
【问题描述】:
我正在尝试获取在表中执行插入的最后日期(在 Amazon Redshift 上),有没有办法使用元数据来做到这一点?这些表不存储任何时间戳列,即使它们有它,我们也需要找出3k 表,因此这是不切实际的,因此元数据方法是我们的策略。有什么建议吗?
【问题讨论】:
标签: amazon-redshift
我正在尝试获取在表中执行插入的最后日期(在 Amazon Redshift 上),有没有办法使用元数据来做到这一点?这些表不存储任何时间戳列,即使它们有它,我们也需要找出3k 表,因此这是不切实际的,因此元数据方法是我们的策略。有什么建议吗?
【问题讨论】:
标签: amazon-redshift
查询的所有插入执行步骤都记录在STL_INSERT 中。此查询应该为您提供您正在寻找的信息:
SELECT sti.schema, sti.table, sq.endtime, sq.querytxt
FROM
(SELECT MAX(query) as query, tbl, MAX(i.endtime) as last_insert
FROM stl_insert i
GROUP BY tbl
ORDER BY tbl) inserts
JOIN stl_query sq ON sq.query = inserts.query
JOIN svv_table_info sti ON sti.table_id = inserts.tbl
ORDER BY inserts.last_insert DESC;
注意:STL 表只保留大约两到五天的日志历史记录。
【讨论】: