【问题标题】:Amazon Redshift how to get the last date a table inserted dataAmazon Redshift如何获取表格插入数据的最后日期
【发布时间】:2016-11-25 15:47:43
【问题描述】:

我正在尝试获取在表中执行插入的最后日期(在 Amazon Redshift 上),有没有办法使用元数据来做到这一点?这些表不存储任何时间戳列,即使它们有它,我们也需要找出3k 表,因此这是不切实际的,因此元数据方法是我们的​​策略。有什么建议吗?

【问题讨论】:

    标签: amazon-redshift


    【解决方案1】:

    查询的所有插入执行步骤都记录在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 表只保留大约两到五天的日志历史记录。

    【讨论】:

    • 知道如何获取超过 5 天的数据吗?
    • @trevor 来自 Redshift 文档:“如果要保留日志数据,则需要定期将其复制到其他表或卸载到 Amazon S3”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 1970-01-01
    • 2015-03-26
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多