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

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

PostgreSQL 资讯

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

tid_blockno() 与 tid_offset() 函数已推送

发布于 2026-09-10T10:59:38.597227Z · PostgreSQL hackers PostgreSQL 19 TID 函数

从 ctid 里取块号,此前只能写成 (ctid::text::point)[0] 这种绕路的写法。Andres Freund 推送了 tid_blockno() 与 tid_offset() 两个访问器函数,把这件事变成一次普通的函数调用;提交前他做了小幅调整,包括在文档里把 TID 从类型标记改为缩写标记,因为 TID 并不是真正的类型名。他自己在做性能验证、需要从索引扫描里取块号时又撞上这个限制,才把补丁推完。

阅读更多……

PostgreSQL 19 新增 autovacuum 评分视图

发布于 2026-09-10T10:59:38.57273Z · PostgreSQL hackers PostgreSQL 19 autovacuum 监控

哪张表最急着被 autovacuum 处理,此前只能靠 DBA 自己推算。Nathan Bossart 提交了 pg_stat_autovacuum_scores 视图的前三个补丁,把 autovacuum 的评分摆成系统视图,并对所有用户开放。争论集中在要不要同时给出是否够格清理的布尔列,最终采用 autovacuum 真正决策时用的 dovacuum 与 doanalyze。

阅读更多……

工作集超出内存时性能会掉下一道悬崖

发布于 2026-09-10T10:59:38.541031Z · TigerData 博客 性能 缓存

数据装得进内存时一切都快,工作集一旦超过可用内存,响应时间就从毫秒跳到几百毫秒。Jake Hertz 解释这道悬崖来自缓存淘汰:新数据把旧页挤下磁盘,再查这些数据就要等慢速 I/O;分析查询扫历史数据会把热数据挤出内存,让情况更糟。可选的路子是加内存、水平分片,或改列存压缩体积。他建议用 pg_statio_user_tables 盯住缓存命中率,低于 95% 就是要出事的信号。

阅读更多……

Estuary 的 PostgreSQL CDC 支持只读备库采集

发布于 2026-09-10T10:59:38.535476Z · PostgreSQL 新闻 CDC 复制

Estuary 更新了 PostgreSQL 连接器。新增只读模式 CDC,不必往 watermarks 表写数据,可直接从只读备库采集,把复制开销移出主库;这条路要求 PostgreSQL 16 以上、开启逻辑解码并设 hot_standby_feedback = on,采集范围里还要带高频更新表或心跳表,否则 WAL 会一直堆积。源端与目标端都支持 IAM 认证,分区表还可按分区各自成流。

阅读更多……

排序规则一变,索引里的数据就可能失踪

发布于 2026-09-10T10:59:38.529693Z · pgEdge 博客 升级 排序规则 索引

glibc 2.28 在 2018 年按 Unicode 规则改了排序,B-tree 索引里按旧顺序摆好的数据就此对不上:查询少返回行、唯一约束抓不到重复,而且没有告警。Shaun Thomas 梳理了应对之道:PostgreSQL 13 起记录排序规则版本并告警,17 提供内置 provider,pg_c_utf8 在大版本内不再变。老集群升级操作系统后要 REINDEX INDEX CONCURRENTLY。

阅读更多……