postgres定期刷新物化视图

时间:2017-10-30 10:25:40

标签: sql postgresql postgresql-9.3

出于优化目的我正在使用物化视图,定期刷新它我已经设置了一个cron作业,每三个小时在我的情况下运行每个句点t。 我的问题是:

  1. 刷新物化视图的最佳方法是什么?
  2. 如果使用cron作业刷新物化视图会出现什么问题?
  3. 我遇到了一个安排工作link

    的postgres插件

2 个答案:

答案 0 :(得分:5)

最好的方法是定期执行执行任务的脚本:

脚本是:

#!/bin/sh
psql -U user_name -d database_instance_name -c 'refresh materialized view view_name'

并在crontab中添加一个条目,如:

@hourly  /full_path/script_name.sh

答案 1 :(得分:1)

扩展pg_cron也可以完成Linux安装。 这是我使用的示例,每5分钟刷新一次;

INSERT INTO cron.job (schedule, command, nodename, nodeport, database, username)
VALUES ('*/5 * * * *', 'REFRESH MATERIALIZED VIEW public.mv_anyquery', 
'127.0.0.1', 5432, 'geodb', 'postgres');
在pg_hba.conf中,

nodename(127.0.0.1)可能是必要的信任身份验证。