TGViewer
开发者工具箱|编程·开发工具·资源 开发者工具箱|编程·开发工具·资源 @devtoolboxhub · 299 subscribers
Post #1960 1
Postgres 物化视图自动刷新扩展 pg_ivm 1.16 发布

pg_ivm 是 PostgreSQL 的物化视图增量维护扩展。它在基表变更的同一事务内通过触发器更新视图,避免每次都重新计算整个查询结果,解决定时刷新导致数据延迟和全量开销大的问题。
该扩展支持 PostgreSQL 13 到 19,最新版本 1.16 已适配 PostgreSQL 19。安装方式为 make install 后执行 CREATE EXTENSION pg_ivm,并建议将其加入 shared_preload_libraries 或 session_preload_libraries,变更后需要重启数据库。使用 pgivm.create_immv 函数创建增量维护的物化视图,基表的 INSERT、UPDATE、DELETE 会自动触发对视图中受影响行的局部修补,读写不会出现数据不一致的窗口。
官方示例显示,在 1000 万行 pgbench 数据集上,普通物化视图刷新一行变更需 20.5 秒,而使用 pg_ivm 后单行写入额外开销约 6 毫秒,视图始终保持最新。聚合视图支持 count、sum、avg、min、max 五种内置聚合,但 real 或 double precision 列上的 sum/avg 可能产生漂移,建议使用 numeric 类型。视图上必须保留合适的索引,否则增量更新会退化为顺序扫描,写入性能会显著下降。
该扩展有一些使用限制:不支持窗口函数、HAVING、ORDER BY、LIMIT、UNION 等语法,基表必须是普通表,不支持视图、分区表和外表,也不支持逻辑复制订阅端。频繁写入或大批量导入的表不适合直接使用,大写入前可调用 pgivm.refresh_immv 临时关闭维护,导入后再重建。pg_dump 不包含扩展元数据,备份和恢复前需使用随扩展提供的 pg_ivm_dump_metadata 脚本处理。
More from @devtoolboxhub
  1. Oct 18, 2026PHP 表单 reCAPTCHA v3 超时修复方案 reCAPTCHA v3 令牌生成后仅两分钟有效,且只能验证一次。许多教程在页面加载时就请求令牌,导致用户填写较慢时提交已过期…
  2. Oct 18, 2026Postgres 向量索引新方案 pg_vectorsearch 发布 pgvector 在构建 HNSW 索引时,数据量大后内存吃紧,索引构建极慢,查询也会掉到磁盘。Tiger…
  3. Oct 17, 2026JTL Cloud Apps 发布六款示例应用 JTL 在科隆学院日活动上,现场用 Claude Code 构建并测试了六款 JTL Cloud App,涵盖补货建议、首单欢迎邮件…
  4. Oct 17, 2026大模型账单异常,先排查这四个常见原因 账单突然变高,通常不是模型太贵,而是成本在某个环节泄漏。长提示词、冗长输出、重试与 Agent 循环、模型选型不当,都可能让费用超出预算。 逐…
  5. Oct 17, 2026用启动文件给 AI 编程助手定上下文 Postman AI 工程师 Sterling Chin 介绍了他自建的 AI 编程助手 Marvin。Marvin 基于 Claude Co…
  6. Oct 16, 2026上下文工程:防止 AI 工作流悄悄退化 AI 工作流不一定报错才出问题。提示词一字未改,输出却可能越来越不可靠。Search Engine Land 2026 年 10 月 8 日…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →