postgres物化视图自动触发
  6tuRdFP5lxfF 2023年11月02日 77 0

环境

centos7.9,postgresql-14 由于上篇的物化视图是手动刷新数据,sh本着程序员都是懒人的原则,不做成自动刷新是对不起自己的职业

步骤

  1. 建物化视图
CREATE MATERIALIZED VIEW view_xxx AS
    ( SELECT  *
   FROM table
    )
    WITH  DATA;

WITH DATA 指刷新时可查询视图 WITH NO DATA 指刷新时不可查询视图

  1. 手动刷新命令
REFRESH MATERIALIZED VIEW concurrently  view_xxx;

concurrently不锁表刷新数据 如果执行时报 HINT: 在物化视图的一个或多个列上创建不带WHERE子句的唯一索引. 建一个唯一索引

create unique index idx_id on view_xxxx(id);
  1. cron触发
提前装好sshpass
yum install sshpass -y
cron -e
sshpass -p "password"  psql -U postgres -d db_name -c 'REFRESH MATERIALIZED VIEW concurrently  view_xxxxx';

sshpass格式是sshpass -p "your_password" your_command

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  6tuRdFP5lxfF   2023年11月02日   44   0   0 物化视图
6tuRdFP5lxfF