Redshift 物化视图不刷新或删除

Posted

技术标签:

【中文标题】Redshift 物化视图不刷新或删除【英文标题】:Redshift Materialised Views not Refreshing or Dropping 【发布时间】:2021-09-23 15:48:10 【问题描述】:

我们在 Redshift 中使用物化视图来容纳我们的 Looker BI 工具中使用的查询。

我们会定期刷新基础数据,因此这些视图需要每小时刷新一次,因此我们使用以下命令将这些视图设置为自动刷新。

ALTER MATERIALIZED VIEW view_name AUTO REFRESH YES

这工作了一段时间,然后就停止了,SVL_MV_REFRESH_STATUS 中没有显示任何失败消息,刷新只是在所有垫子上停止。意见。

此时,我们已经尝试手动刷新垫子。使用REFRESH MATERIALIZED VIEW 进行查看,但此查询会挂起很长时间,直到我们稍后手动取消 PID 才会被终止。

在手动刷新视图失败后,我们尝试DROP垫子。视图,但此查询也挂起,需要使用 PID 手动终止。

到目前为止,我们找到的唯一解决方案是重新启动 Redshift 集群,这显然不是一个可靠的解决方案,也没有让我们找到问题的根源。

有没有人遇到过这个问题,可以解释一下吗?

谢谢!

【问题讨论】:

【参考方案1】:

此行为表明存在锁定问题。我怀疑你有一个锁阻止了视图的更新。由于这已经持续了一段时间,请查看已连接的会话,看看是否有任何非常旧的会话。当人们在他们的客户端上打开一个会话并且从未结束它时,就会发生这种情况。他们的锁可以永远存在。

【讨论】:

以上是关于Redshift 物化视图不刷新或删除的主要内容,如果未能解决你的问题,请参考以下文章

刷新或创建物化视图? Postgres

触发物化视图刷新 - AWS Lambda

物化视图快速刷新 - 更新基表时插入和删除

oracle物化视图不会自动更新是怎么回事

如何获得oracle物化视图 定时刷新时 刷新所用的时间 或者是监控 物化视图在jobs中建立的job任务的执行时间

Oracle-视图