刷新还是创建物化视图?Postgres

use*_*463 1 sql postgresql materialized-views

我有一个物化视图,当我们的数据管道完全刷新时,它有时会被删除。有没有办法在查询中包含一些逻辑以刷新它是否存在,如果不存在,则创建它?

像这样的东西

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
Run Code Online (Sandbox Code Playgroud)

a_h*_*ame 6

一种选择是将 acreate .. if not exists与 no data 选项一起使用,然后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;
Run Code Online (Sandbox Code Playgroud)