刷新或创建物化视图? Postgres
Posted
技术标签:
【中文标题】刷新或创建物化视图? Postgres【英文标题】:Refresh or Create Materialized view? Postgres 【发布时间】:2020-05-19 19:32:33 【问题描述】:我有一个物化视图,当我们的数据管道进行完全刷新时,它有时会被删除。有没有办法在查询中包含一些逻辑以刷新它是否存在,如果不存在,则创建它?
类似的东西
refresh materialized view my_mat_view
if my_mat_view does not exist then execute the code below
create materialized view my_mat_view as select * from table
【问题讨论】:
“有时会被删除”。这听起来像是一个应该解决的问题。 是的,我同意,这是我们重组管道时的临时修复 【参考方案1】:一种选择是使用带有无数据选项的create .. if not exists
,然后无条件运行refresh
:
create materialized view if not exists my_mat_view
as
select *
from table
with no data; --<< don't populate the data just yet
-- the mview will exists now, no matter what
refresh materialized view my_mat_view;
【讨论】:
以上是关于刷新或创建物化视图? Postgres的主要内容,如果未能解决你的问题,请参考以下文章