当前位置: 首页 > news >正文

网站推广信息怎么做好的用户体验网站

网站推广信息怎么做,好的用户体验网站,代码网站模板怎么做,wordpress网站主机普通视图就是一个虚拟表,不占内存。而物化视图是存在的,占内存。 物化视图,默认是手动刷新。下面是手动刷新的例子。我们来创建一个物化视图。 create MATERIALIZED VIEW dnh_analasis_view as select cjsj,a,b,c,d from table_1; REFRESH …

普通视图就是一个虚拟表,不占内存。而物化视图是存在的,占内存。
物化视图,默认是手动刷新。下面是手动刷新的例子。我们来创建一个物化视图。

create MATERIALIZED VIEW dnh_analasis_view as 
select cjsj,a,b,c,d from table_1;
REFRESH MATERIALIZED  VIEW dnh_analasis_view;
1
2
3
手动刷新无法实现自动化,那么如何让postgresql 实现自动刷新物化视图呢。

方法1:实现思路:创建一个函数,函数实现刷新物化视图的功能。然后创建一个触发器,触发函数。最终达到实现自动刷选物化视图的目的。

第一步:创建函数。新版的物化视图新增了 concurrently 参数,可以使在刷新视图时不会锁住该物化视图的查询工作。

create or replace function tri_dnh_analasis_func() returns trigger as $$ 
declare
begin 
  refresh materialized view concurrently dnh_analasis_view with data; 
  return null; 
end; 
$$ language plpgsql;
1
2
3
4
5
6
7
第二步:创建触发器,当表有插入更新删除操作时,触发函数。刷新物化视图。

create trigger tri_dnh_analasis
after insert or update or delete on dws_tag_value
for each statement 
  execute procedure tri_dnh_analasis_func();
1
2
3
4
方法2:定时任务(pg_cron)自动刷新物化视图。
pg_cron 是一个简单的基于 cron 的 PostgreSQL(9.5或更高版本)作业调度程序,它在数据库中作为扩展运行。它使用与常规 cron 相同的语法,但它允许你直接从数据库调度 PostgreSQL 命令。

pg_cron是基于cron的作业调度插件,语法与常规cron相同,但它可以直接从数据库执行PostgreSQL命令。
每一个定时任务分为两部分:
定时计划
规定使用插件的计划,例如每隔1分钟执行一次该任务。
定时计划使用标准的cron语法,其中*表示任意时间都运行,特定数字表示仅在这个时间时运行。

┌───────────── 分钟: 0 ~ 59
│ ┌────────────── 小时: 0 ~ 23
│ │ ┌─────────────── 日期: 1 ~ 31
│ │ │ ┌──────────────── 月份: 1 ~ 12
│ │ │ │ ┌───────────────── 一周中的某一天 :0 ~ 6,0表示周日。
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │


例如每周六3:30am(GMT)的语法为:

30 3 * * 6
定时任务
用户具体的任务内容,例如select * from some_table。

那么如何添加pg_cron呢?

第一步:安装pg_cron 插件。编译安装

git clone https://github.com/citusdata/pg_cron.git
cd pg_cron
source /home/postgres/.bash_profile
make
make install


第二步:
使用该插件前,需要将pg_cron加入到shared_preload_libraries参数中。

shared_preload_libraries = 'pg_cron' 
cron.database_name = 'mes'

注:配置了cron.database_name参数才能在对应数据库上安装pg_cron扩展。

第三步:开始在客服端如navicat 执行使用命令:

创建pg_cron 插件

create extension pg_cron;

删除插件

DROP EXTENSION pg_cron;

执行某个任务

SELECT cron.schedule('<定时计划>', '<定时任务>')
-- 每个小时的23分执行指定脚本。
SELECT cron.schedule('23 * * * *', 'select 1;');
-- 每分钟执行指定脚本。
SELECT cron.schedule('* * * * *', 'select 1;');

查看当前任务列表

SELECT * FROM cron.job;

http://www.yayakq.cn/news/457977/

相关文章:

  • 佳木斯做网站wordpress varinsh
  • 服务器怎么添加网站1000M双线网站空间
  • 网站域名后缀互联网上市公司一览表
  • 网站设计赚钱吗网站的外链怎么做
  • 做网站的最佳方法有哪些网站建设的方法
  • 公司制作网站怎么做的泰安肥城做网站的公司
  • wordpress简约下载站模板下载网站建设制作公司都选万维科技
  • 企业网站建设的层次郑州网约车从业资格证
  • 小语种网站建设公司网站被黑
  • 网站每月流量安康市相亲平台
  • 科学城做网站公司网站做支付功能
  • seo做的比较好的网站的几个特征商业网站推广
  • 做网站要学什么网站dns修改
  • wordpress说说插件长沙网站推广和优化
  • 网站开发和运行模式的搭建北京网站推广排名
  • 上海内贸网站建设网站引导页怎么做
  • 做网站会员推广哪个好wordpress 说明文档
  • 做网站用什么域名好装修平台哪个最好
  • 知名网站html怎么自己做网站
  • 路由器设置用来做网站空间吗杭州广众建设工程有限公司网站
  • wordpress 4.5 主题做网站优化用什么软件
  • 网站备案建设方案做宾馆网站
  • 手机中国建设银行网站陕西做网站公司有哪些
  • 网站维护方法江苏网站建设包括哪些
  • 网站建设过程与思路做汽配的网站
  • 河池市都安县建设局网站wordpress怎么修改导航
  • 网站空间和域名价格制作网站设计的公司
  • 外贸网站建设教程做百度快照要先有网站吗
  • 建设网站哪里便宜东莞厚街核酸检测点
  • 做兼职最好的网站品牌建设标准