↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

PostgreSQL 博览 · 2026-06-05 RSS

保留原始来源与发布日期的新闻、博客和活动。

17 条内容

PostgreSQL 19 用两个 contrib 模块给出查询提示

Shaun ThomaspgEdge 博客

查询提示在 PostgreSQL 社区争论了二十年,19 的答案是 Robert Haas 写的 pg_plan_advice 和 pg_stash_advice 两个 contrib 模块。提示不写进 SQL:一种是设 pg_plan_advice.advice 这个 GUC 给建议,另一种是把命名的建议集放进共享内存按查询 ID 匹配,可按会话或数据库限定范围。可指定扫描方式、连接顺序、连接方法和并行度,聚合与集合运算仍管不了。

CloudNativePG 给出测试 19 Beta 的方法

CloudNativePGCloudNativePG 博客

PostgreSQL 19 Beta 1 发布次日,CloudNativePG 就在 postgres-containers 仓库放出 19beta1-minimal-trixie 系列镜像。做法很短:在 Cluster 资源里把 imageName 指向该镜像,设好实例数和存储,部署后用 kubectl exec 执行 select version() 确认版本。项目方明确 Beta 镜像不用于生产,目的是在正式发布前把缺陷试出来。

行存导致的读放大是分析查询的瓶颈

NanoHertz CommunicationsTigerData 博客

PostgreSQL 按行存储,一张 15 列的表哪怕只查 2 列,扫描时仍要把匹配行的全部列读进来。文章给的例子是每行只需要 12 字节却读了 200 字节,放大约 16 倍;索引解决不了这件事,因为索引优化的是选哪些行,不是每行读多宽。列式存储按列组织数据,只读需要的列。TigerData 给出的折中是 Hypercore:新数据保持行格式保证写入速度,旧数据转成列格式提升分析扫描效率。

社区提议在 PostgreSQL 20 移除 refint 模块

Ayush Tiwaripgsql-hackers

Ayush Tiwari 提议把 contrib 里的 refint 模块在 PostgreSQL 20 中删掉。文档早就写明它的功能已被内置外键取代,最近又接连暴露问题:级联 UPDATE 置空时崩溃、计划缓存损坏,维护成本超过了它作为示例代码的价值。补丁从 contrib/spi 移除相关文件并调整升级测试。Nathan Bossart、Daniel Gustafsson 和 Tom Lane 都赞成移除,建议先在文档里预告。