postgresql物化视图刷新——创新思路

postgresql物化视图刷新常见的有直接刷新refresh和增量刷新,这两种刷新思路都不满足当前业务需求,直接refresh会锁定物化视图,增量刷新局限于版本和唯一索引,经过改造提供以下新的解决思路:

drop materialized view if exists view_name_ls;

--创建和原物化视图相同逻辑的临时物化视图
create materialized view view_name_ls as 原物化视图逻辑;

--原物化视图重命名为带动态时间后缀的名称
alter materialized view view_name rename to view_name_${day}${hh24};

--第二步创建的临时物化视图重命名为原物化视图
alter materialized view view_name_ls rename to view_name;

--删除带动态时间后缀的名称物化视图
drop materialized view view_name_${day}${hh24};
定期清理因不可坑距因素导致drop失败的带日期的物化视图

完美解决PostgreSQL物化视图刷新问题alter操作速度非常快,不用担心物化视图rename时不存在的空白期。

你可能感兴趣的:(数据库,postgresql)