psql物化视图自动更新
2024-09-05 02:35:49
更新物化视图示例
CREATE TABLE model.test (
id SERIAL PRIMARY KEY,
name VARCHAR(60)
);
. 创建物化视图
CREATE MATERIALIZED VIEW model.test_materialized_view AS
SELECT * FROM model.test;
. 创建唯一索引,因为 CONCURRENTLY 同步更新需要唯一索引
CREATE UNIQUE INDEX test_materialized_view_index ON model.test_materialized_view(id);
. 同步更新,但是需要触发,不能向 oracle 那种可以自动触发更新
REFRESH MATERIALIZED VIEW CONCURRENTLY model.test_materialized_view;
. 创建函数执行同步更新和触发器执行函数
create or replace function update_test_materialized_view() returns trigger as $$
declare
begin
REFRESH MATERIALIZED VIEW CONCURRENTLY model.test_materialized_view;
return new;
end;
$$ language plpgsql;
CREATE TRIGGER update_test_materialized_view AFTER UPDATE ON model.test FOR EACH STATEMENT EXECUTE PROCEDURE update_test_materialized_view();
CREATE TRIGGER update_test_materialized_view AFTER UPDATE ON model.test FOR EACH STATEMENT EXECUTE PROCEDURE update_test_materialized_view();
CREATE TRIGGER update_test_materialized_view AFTER UPDATE ON model.test FOR EACH STATEMENT EXECUTE PROCEDURE update_test_materialized_view();
---------------------
作者:Resemble_
来源:CSDN
原文:https://blog.csdn.net/qq_27657429/article/details/76643294
版权声明:本文为博主原创文章,转载请附上博文链接!
最新文章
- 关于CodeFirst异常:无法确定类型'XXX'和类型‘YYY’之间的关联的主体端,必须使用关系 Fluent API 或数据注释显式配置此关联的主体端。
- 详解HttpURLConnection
- 记centos7中的network.service启动失败
- jQuery轮播图
- 倍增法lca
- ajax和servlet交互
- 【MySQL】MySQL无基础学习和入门之二:MySQL的安装
- loadView, viewDidLoad 快速使用
- iOS 深入Objective-C的动态特性
- Windows Azure 设置虚拟机静态外网IP地址
- Android 关于显示键盘,布局错乱网上顶的问题
- creating normals from alpha/heightmap inside a shader
- dedecms likearticle 调用附加表的字段调用方式
- FZU	2087 统计树边
- Linux Shell——函数的使用
- C++课程设计2
- hdu 5517 Triple(二维树状数组)
- 【PowerOJ1738】最小路径覆盖
- WPF设计界面不执行代码
- CentOS7 命令笔记