刷新或创建Materialized视图?Postgres

问题描述 投票:0回答:2

我有一个物化视图,有时在我们的数据管道进行全面刷新时,这个视图会被擦掉。有没有办法在查询中加入一些逻辑来刷新它是否存在,如果不存在,则创建它?

像这样

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
sql postgresql materialized-views
2个回答
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;
© www.soinside.com 2019 - 2024. All rights reserved.