天天看点

PgSQL——使用触发器自动刷新物化视图

前言

普通视图就是一个虚拟表,不占​​内存​​。而物化视图是存在的,占内存。

物化视图,默认是手动刷新。下面是手动刷新的例子。我们来创建一个物化视图。

Step1 创建函数刷新视图

create or replace function tri_refresh_ydpf_func() returns trigger as $$ 
declare
begin 
  refresh materialized view mv_ydsjpf with data; 
  refresh materialized view mv_ydejpf with data; 
  refresh materialized view mv_ydyjpf with data; 
  refresh materialized view mv_ydzpf with data; 
  return null; 
end; 
$$ language plpgsql;      

Step2 创建触发器

create trigger tri_refresh_ydpf
after insert or update or delete on tyzk_point_report
for each statement 
execute procedure tri_refresh_ydpf_func();