PostgreSQL 日报|PG19 VACUUM 误估 reltuples(11 月 14 日)

避坑指南:为什么你的PostgreSQL行数统计总是慢?系统表reltuples的隐藏陷阱 本文深入剖析了PostgreSQL中系统表`pg_class.reltuples`用于行数统计时的隐藏陷阱。该字段仅为估算值,其准确性依赖于VACUUM和ANALYZE的更新,在数据频繁变动或长期未分析的表上会产生显著误差。文章通过对比不同统计方法的优劣,提供了诊断误差的实用方法,并针对需要精确计数的场景,给出了物化视图、触发器计数表等可靠的解决方案与优化建议。 阅读详情

PostgreSQL Hacker 电子邮件讨论精选

在订阅端添加逻辑解码消息的处理钩子

该讨论围绕一组为订阅端添加逻辑解码消息处理钩子的补丁展开。patch 0001 被认为可以独立推送。Amit Kapila 建议将子事务 ID 作为单独参数传入,而非要求插件自行获取顶层事务,以保持与类似接口的一致性。Bertrand Drouvot 表示赞同,并指出这样做还能避免提交说明中提到的崩溃问题——因为 txn 将始终指向顶层事务。Masah…

原文链接:

https://pgnexus.ai/hacker-discussions?subject=Add%20a%20hook%20for%20handling%20logical%20decoding%20messages%20on%20subscribers.

移除对命名 POSIX 信号量的支持

该线程讨论了在 PostgreSQL 中移除对 named POSIX semaphores 支持的问题。Tom Lane 指出,named POSIX semaphores 因存在性能问题(在包括 macOS 在内的所有平台上均有体现),无法作为 SysV semaphores 的可行替代方案。若要进行更深层的替换,需改用 futexes 或类似的底层原…

原文链接:

https://pgnexus.ai/hacker-discussions?subject=Let’s%20drop%20support%20for%20named%20POSIX%20semaphores

测试:避免在 049_wait_for_lsn 中进行冗余的备库追赶操作

本次讨论涉及一个 bug:pg_current_wal_insert_lsn() 返回的 LSN 可能指向 WAL 页头内部,导致客户端在等待该 LSN 时出现问题(例如使用 WAIT FOR LSN)。Jobin Augustine 提供了复现步骤,其 Rust 程序中包含一个客户端侧的 LSN 规范化变通方案。Alexander Korotkov…

原文链接:

https://pgnexus.ai/hacker-discussions?subject=test%3A%20avoid%20redundant%20standby%20catchup%20in%20049_wait_for_lsn

pg_basebackup:在 ReceiveXlogStream() 中检查时间线历史文件写入失败

Chao 提交了一个补丁,修复了 pg_basebackup 中 ReceiveXlogStream() 函数未正确检查 timeline history 文件写入失败的问题。该问题由 Chao 本人发现并修复。Masao Fujii 和 Surya Poondla 对补丁进行了审查,Surya 确认补丁看起来没有问题。讨论中未提出未解决的疑问,补…

原文链接:

https://pgnexus.ai/hacker-discussions?subject=pg_basebackup%3A%20check%20timeline%20history%20file%20write%20failures%20in%20ReceiveXlogStream()

支持对子命令的进度追踪

Antonin Houska 提出了一种基于栈的子命令进度跟踪新方案:当子命令开始上报进度时,后端将父命令的状态压栈(支持无限嵌套),视图中只显示当前正在执行的命令进度,无需增加每个后端的共享内存用量。Manu 发现了若干问题:嵌套命令因错误中止时栈状态未能正确清理,10,000 次失败的 COPY 嵌套会导致 TopMemoryContext 增长约 2…

原文链接:

https://pgnexus.ai/hacker-discussions?subject=Allow%20progress%20tracking%20of%20sub-commands

[BUG / PATCH] PG19: VACUUM 在启用 on-access VM 设置后错误估算 reltuples(常为 0)

该讨论涉及 PG19 中的一个 bug:VACUUM 在 on-access visibility map 设置后对 reltuples 估算错误(通常返回 0)。Melanie Plageman 提出了一个回补修复方案。Fujii Masao 对条件判断提出疑问,认为应使用 <= 0 而非 < 0,以覆盖 DELETE+VACUUM 后 relt…

原文链接:

https://pgnexus.ai/hacker-discussions?subject=%5BBUG%20%2F%20PATCH%5D%20PG19%3A%20VACUUM%20misestimates%20reltuples%20(often%200)%20after%20on-access%20VM%20setting

行业新闻

Microsoft 全球云服务故障导致 Outlook、Teams 等服务中断

Microsoft 遭遇大规模云服务故障,起初影响 Outlook 邮件和 Teams 协作工具,随后迅速蔓延,导致公司大部分云基础设施全面瘫痪,演变为一场全球性云服务危机。此次事故持续整整一天,波及全球依赖 Microsoft 云生态系统运营的企业和个人用户。Microsoft 表示正在逐步恢复服务,但此次大范围中断再次引发外界对企业级云平台韧性与可靠性…

原文链接:

https://pgnexus.ai/tech-news?url=https%3A%2F%2Ftechcrunch.com%2F2026%2F11%2F13%2Fmicrosoft-latest-email-outage-turned-into-a-full-blown-global-cloud-crisis

中国最强 AI 模型背后竟是美国禁运芯片 Nvidia

最新研究显示,中国最先进的 AI 模型是在受美国出口管制的 Nvidia 芯片上训练而成,这一发现令外界对出口禁令的实际效果产生严重质疑。此事正值中美两国在 AI 技术和国家安全领域竞争持续升温之际,给监管机构和芯片制造商带来重新审视执法机制的压力。与此同时,Nvidia CEO Jensen Huang 因另一丑闻辞职,该事件同样涉及潜在的国家安全问题,…

原文链接:

https://pgnexus.ai/tech-news?url=https%3A%2F%2Ftechcrunch.com%2F2026%2F11%2F13%2Fexport-banned-nvidia-chips-are-behind-chinas-most-powerful-ai-models-uh-oh-jensen

LangChain AI Agent 创业公司估值达到 30 亿美元

AI 智能体初创公司 LangChain 估值已达 30 亿美元。该公司旗下的智能体管理平台 LangSmith 目前已拥有 7,000 家客户,该平台支持跨模型、跨平台部署,方便开发者在不同基础设施环境中构建和管理 AI 智能体。此次估值里程碑反映出投资者对 AI 工具链和基础设施领域的持续热情,尤其是聚焦于快速增长的智能体 AI 赛道的初创企业。Lan…

原文链接:

https://pgnexus.ai/tech-news?url=https%3A%2F%2Ftechcrunch.com%2F2026%2F11%2F13%2Fai-agent-startup-langchain-hits-3b-valuation

社交媒体动态

KubeCon + CloudNativeCon NA 2026 盐湖城峰会圆满落幕:现场演示写入近 300 万条订单,零失败

KubeCon + CloudNativeCon NA 2026 盐湖城峰会已圆满结束。活动期间,团队在现场演示中实现了近 299 万条订单的写入,且零失败。演示场景模拟了 Kubernetes 中运行的 Postgres 节点在网络中断情况下的高可用恢复过程:CloudNativePG 自动重启 Pod,Spock 完成两节点间的数据同步对齐。本届峰会整…

原文链接:

https://pgnexus.ai/social-media?url=https%3A%2F%2Fwww.linkedin.com%2Fposts%2Fpgedge_postgres-postgresql-aiengineering-activity-7527123744452943872-rzTA

NAVUM GmbH 正式加入 CYBERTEC 合作伙伴网络

CYBERTEC 宣布 NAVUM GmbH 正式加入其合作伙伴网络。NAVUM 是一家通过 ISO 27001 认证的系统集成商,专注于为高敏感环境构建安全、可靠且面向未来的 IT 基础设施,业务涵盖架构设计、实施部署及全生命周期服务。此次合作将 NAVUM 的基础设施专业能力与 CYBERTEC 的企业级 PostgreSQL 解决方案相结合,旨在帮助…

原文链接:

https://pgnexus.ai/social-media?url=https%3A%2F%2Fwww.linkedin.com%2Fposts%2Fcybertec-postgresql_partnership-itinfrastructure-cybersecurity-activity-7526919552111267840-B64E

Block 公司的 AI 智能体:与人协作,而非独立工具

Block 公司开发了一款名为 Buzz 的开源工作平台,让员工与 AI 智能体在同一对话中协作完成编码、数据分析及日常任务,而非将 AI 单独隔离为一个独立工具。借助 Databricks Unity Gateway,团队通过统一集成访问前沿模型和开放权重模型,可针对不同任务灵活测试各类模型与智能体配置,在性能与成本之间找到最优平衡。

原文链接:

https://pgnexus.ai/social-media?url=https%3A%2F%2Fwww.linkedin.com%2Fposts%2Fdatabricks_how-block-powers-collaborative-ai-agents-activity-7527125086319849472-Ke8i

PostgreSQL统计表记录数的3种方法对比(含准确度实测) 本文深度对比了PostgreSQL中统计表记录数的三种核心方法:基于统计信息的`pg_class.reltuples`、基于事务快照的`pg_stat_user_tables.n_live_tup`以及精确扫描的`COUNT(*)`。通过原理剖析与实测数据,详细分析了它们在准确性、性能开销及适用场景上的差异,并提供了清晰的技术选型指南与进阶监控实践,帮助开发者在不同需求下做出最优选择。 阅读详情

相关推荐

PostgreSQL生产环境数据库管理核心实践

PostgreSQL数据库管理远不止SQL操作,而是涵盖元数据、实例、数据库与对象四层的工程化体系。其核心原理在于通过分层控制保障数据一致性、访问可控性与故障可恢复性,技术价值体现在避免误删、性能劣化和跨版本迁移失败等真实风险。典型应用场景包括高并发订单系统运维、金融级数据审计、多租户SaaS权限隔离及RPO/RTO严苛的灾备建设。本文深入解析pg_dump备份策略、pg_basebackup物理恢复、WAL归档机制及autovacuum调优等关键实践,直击生产环境中DROP DATABASE误操作、连接风

weixin_34380948的博客 343

PostgreSQL 日报| glibc 升级可静默损坏索引(11 月 12 日)

Pablo Svampa 总结了十个受影响的场景:B-tree、唯一索引、外键、部分索引、BRIN、GiST、EXCLUDE 索引、基于字符串的范围分区表、CHECK 约束、存储型生成列与物化视图,以及查询…若以服务方式循环运行并反复失败,这些资源将持续积累。借助 Genie,智能体可以访问受治理的业务语义层,跨数据与文档进行分析,并返回带有引用来源的答案,全程无需改变现有工作流。这一里程碑式数据凸显了该公司商业化的强劲势头,企业客户群持续扩大,AI 产品需求旺盛,使其成为近年来增速最快的科技公司之一。

IvorySQL的博客 149

避坑指南:PostgreSQL行数统计那些你可能不知道的误差陷阱

本文深入探讨PostgreSQL行数统计中的隐藏误差陷阱,包括count(*)的性能代价与MVCC机制偏差、pg_class.reltuples的真空延迟问题,以及触发器方案的边界条件。针对金融报表和实时数据分析场景,提出混合精度统计体系解决方案,帮助开发者规避统计误差风险,提升数据处理的准确性和效率。

weixin_29202687的博客 169

Postgresql pg_class查看所有表名relname及记录数reltuples,记录数显示0实际有数据解决

Postgresql pg_class查看所有表名relname及记录数reltuples,记录数显示0实际有数据解决

qq_40985985的博客 4497

PostgreSQL 表行数统计的三种高效方法及适用场景

本文深入探讨了PostgreSQL表行数统计的三种高效方法:经典的COUNT(*)提供事务级精确但性能消耗大;查询系统表pg_class.reltuples可秒级获取估算值;使用触发器维护计数表则能以微小写入开销换取实时精确的查询速度。文章详细分析了各自的原理、性能开销与误差来源,并提供了清晰的选型指南,帮助开发者根据业务对精确度、查询频率和表活跃度的要求,选择最佳方案。

weixin_29230059的博客 425

四阶龙格库塔方法求解一次常微分方程组

四阶龙格库塔方法求解一次常微分方程组一、写在前面二、四阶龙格库塔方法三、使用四阶龙格库塔方法求解一次常微分方程组 一、写在前面 龙格库塔方法是数值求解常微分非线性方程的有利工具,计算精度较高,通过缩短步进距离和增加阶数可以进一步控制误差范围。工程上较为常用的是四阶龙格库塔算法(R-K4),在计算收敛的情况下往往可以得到比较好的结果。 二、四阶龙格库塔方法 这里简单介绍一下算法的具体实现过程,不做详细的推导。其求解的问题是形如方程: y˙=f(y,t),其中t∈[t0,t1]初值y(t0)=c0 \dot{y

HelloWorldTM的博客 2万+

保姆级教程:用pg_stat_user_objects监控PostgreSQL存储膨胀,节省30%磁盘空间

本文提供了一套基于PostgreSQL内置统计视图pg_stat_user_objects的存储膨胀监控与优化方案。通过详细解析该视图的核心字段,并构建多层次的检测体系与自动化告警策略,帮助用户精准识别并根治因死元组积累导致的磁盘空间浪费问题,有效节省云存储成本并提升数据库性能。

c6d7e8f9g的博客 918

LTspice仿真实战:共模电感差模/共模插入损耗测试全流程(附WE 744821201参数)

本文以Würth Elektronik 744821201型号共模电感为例,详细介绍了在LTspice中搭建差模与共模插入损耗测试电路的全流程。通过从规格书提取关键参数、构建SPICE模型,到执行仿真并与官方数据对比,旨在帮助硬件工程师在PCB设计前期精准预测EMC性能,弥合器件选型与系统设计之间的鸿沟。

info6的博客 761

PostgreSQL Vacuum机制深度解析:从MVCC原理到生产环境调优实战

在数据库管理系统中,多版本并发控制(MVCC)是实现高并发事务处理的核心技术之一。其基本原理是通过维护数据的多个版本来避免读写冲突,从而提升系统并发性能。然而,这种机制会产生大量的过期数据版本,即死元组,若不及时清理将导致存储空间膨胀和查询性能下降。PostgreSQL通过其内置的Vacuum机制来解决这一问题,它不仅负责回收死元组占用的存储空间,还承担着冻结事务ID以防止事务ID回卷灾难的关键职责。在工程实践中,合理配置autovacuum守护进程至关重要,涉及对触发阈值、工作进程数、内存分配等参数的精细

337

STM32F103C8T6飞控入门:从零开始,用HAL库和MPU6050搭建你的第一架四轴无人机

本文详细介绍了如何使用STM32F103C8T6和MPU6050模块从零开始搭建四轴无人机飞控系统。通过硬件选型、电路设计、HAL库配置、姿态解算算法实现以及PID控制等步骤,帮助创客和嵌入式爱好者快速入门飞控开发。文章还提供了实用的调试技巧和常见问题解决方案,适合想要掌握四旋翼无人机核心技术的开发者。

weixin_42524750的博客 267

从开通VPS到搭建宝塔面板全教程

你在输入域名(此时我们可能没有类似aaa.com这样的域名,所以要输入VPS的IP地址)的时候,下面的根目录也会跟着变动,等输入完成后,你可以把根目录再改回成/www/wwwroot/dq。这时,在你的浏览器中,输入外网面板地址的URL,输入username和password,即可登陆宝塔面板。第一次登陆,需要绑定你的宝塔账号,你可以到宝塔的注册界面,用手机注册一个,然后绑定,首先看一下你的VPS操作系统是什么类型的(其实你在选择VPS的时候,就已经选定了,我选择的事Centos系统)。

kxltsuperr的专栏 3737

规划器使用的统计信息(pg_class更改)

今天测试pg_class系统表里的那个reltuples字段,可是插入数据以后他老是不自动更新,差异下文档如下描述。 为了性能不能每时每刻更新,手动可以使用“ VACUUM,ANALYZE,和几个 DDL 命令,比如 CREATE INDEX 更新” ====================================================== [quote] [url]ht...

tiger-hu 1604

易灵思Ti60F100 FPGA的HyperRAM实战:从硬件连接到Native接口时序调试

本文详细介绍了易灵思Ti60F100 FPGA内置HyperRAM控制器的实战应用。文章从硬件设计要点(如400MHz+信号完整性、等长匹配)切入,重点解析了如何通过Interface Designer配置高效的Native接口,并分享了其时序详解与调试技巧,为开发者提供了一份从硬件连接到软件调试的深度指南。

weixin_29168153的博客 459

rea 完整上手指南:把二进制丢给 AI 助手,拿回带证据的分析结论

拆一款弹球游戏的声音定位算法,重建的 C 代码通过 3205 个原始测试用例,编译出的 63 个字节与原版完全一致——这是 rea 仓库里的官方案例。rea(Reverse Engineer Anything)是一个 AI 逆向工程工具:它把 Claude Code、Cursor 这类 AI 助手接到 Hopper、Ghidra、IDA 等二进制分析引擎上,让 AI 自己读懂没有源码的软件。项目

gitblog_00437的博客 1067

Hermes Agent 实战复盘:5 类超预期场景与3 个典型翻车案例分析

揭示 Hermes Agent 在 PDF 智能解析、低代码评审结构化、Kanban 任务驱动执行等五类未被文档覆盖的超预期落地场景,核心依赖 `soul.md`/`CLAUDE.md`/`kanban` 三层上下文建模机制,而非单纯堆 token 或 agent 数量。

weixin_42520239的博客 386

提交 ieee 手稿出现:Do not include the Reviewer PDF with my submission 怎么办

IEEE投稿Reviewer PDF选项说明 投稿时出现的"Do not include the Reviewer PDF with my submission"选项控制是否附带评审专用PDF文件。Reviewer PDF是系统自动生成包含所有投稿材料的完整PDF,用于同行评审。建议保持默认不勾选状态,除非确认编辑部不需要该文件,否则可能影响审稿流程。勾选表示不附带此PDF,不勾选则会正常生成并提交该评审文件。

ZhangJiqun&191cm&85kg 2220

PostgreSQL 12系统表(1)pg_class

PostgreSQL系统表(1)pg_class pg_class记录表和几乎所有具有列或者像表的东西。这包括索引、序列、视图、物化视图、组合类型和TOAST表。 pg_class中的一些逻辑标志被以一种懒惰的方式维护:在正确状态时它们被保证为真,但是当条件不再为真时它们并不会被立刻重置为假。 名称 类型 引用 描述 oid oid 行标识符 relname name 表、索引、视图等的名字 relnamespace oid pg_namespace.oid 包含该关系的名字空间

2842

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

PostgreSQL 12系统表 pg_class

pg_class记录表和几乎所有具有列或者像表的东西。这包括索引、序列、视图、物化视图、组合类型和TOAST表。 pg_class中的一些逻辑标志被以一种懒惰的方式维护:在正确状态时它们被保证为真,但是当条件不再为真时它们并不会被立刻重置为假。 名称 类型 引用 描述 oid oid 行标识符 relname name 表、索引、视图等的名字 relnamespace oid pg_namespace.oid 包含该关系的名字空间的OID reltype oid pg_typ

weixin_36027383的博客 749

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

保姆级教程:用pg_stat_user_objects监控PostgreSQL数据库存储膨胀(附自动清理脚本)

本文提供了一份详细的PostgreSQL数据库存储膨胀监控与自动化治理指南。通过深入解析`pg_stat_user_objects`和`pg_stat_user_tables`等系统视图,重点介绍了如何利用`relpages`和`reltuples`等关键字段精准识别存储膨胀的根源。文章还对比了AWS RDS与自建环境的监控策略,并提供了一个可落地的自动化清理脚本框架,帮助运维人员有效控制存储成本与性能风险。

dapp9builder的博客 463

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

PostgreSQL统计信息

影响一个语句执行快慢很重要的一个因素便是统计信息是否准确。例如碰到一条执行很慢的SQL,一般我们都会先去分析它的执行计划,看看是不是本该走索引但是却走了全表扫描了等等。而这些情况大部分都是因为统计信息不准确导致的。 在pg中一条SQL的执行顺序大致如下: ----> SQL输入 ----> 解析SQL,获取解析后的语法树 ----> 分析、重写语法树,获取查询树 ----> 根据重写、分析后的查询树计算各路径代价,从而选择一条成本最优的执行树 ----> 根据执行树进行执行 -

Focus on PostgreSQL 2510

PG案例系列1:优化大表的count(*)

为了缓解这个问题,PostgreSQL引入了可见性映射(visibility map),这是一种数据结构,用于存储每个人是否都可以看到表块中的所有元组。对于count(*) 操作,完全可以借助索引,因为索引占的空间比表小太多,那么几十M的索引扫描起来为什么那么慢呢?遇到的问题是,第一次执行会很慢,6秒左右,如果间隔时间段第二次执行,因为缓存了第一次的数据,所以查询很快。开启4个并行,并调整参数后,我进行了5次测试,以示公平,每次测试后,休眠5分钟。前端页面需要分页展示,经常需要查询总数,然后做分页展示。

只是甲的博客 3532

PostgreSQL表行数统计的3种高效方法:从count(*)到触发器实战

本文深入探讨了PostgreSQL表行数统计的三种高效方法。针对大数据量表,直接使用COUNT(*)会导致性能瓶颈。文章对比了查询系统表估算、使用物化视图/汇总表预计算以及通过触发器实时维护这三种方案,分析了各自的精确度、性能开销和适用场景,帮助开发者在不同业务需求下做出最优技术选型。

tgb3456789的博客 905

14.2. Statistics Used by the Planner

14.2计划器使用的统计信息 14.2.1. Single-Column Statistics 14.2.1单列统计信息 正如之前章接所述,查询计划器需要预估检索的行以选择最优执行计划。本节简单介绍系统据以进行预估的统计信息。 统计信息中包含表和索引中的所有行,以及每个表和索引所占用的磁盘块数。这些信息保存在表pg_class的reltuples和relpages列: SELECT relname, relkind, reltuples, relpages FROM pg_class ...

在路上 304

linux学习

sudo make install:组装好的家具(编译好的库文件),原本放在你的临时工作区。坏处是,你的程序体积会变大。于是,他会根据你的计划书,结合你电脑的当前情况(比如装了什么编译器,库在哪),生成一本极度详细的《施工进度表》。很多大牌的第三方库(比如你刚装的 libevent)为了照顾不同的需求,会同时提供动态库(.so)和静态库(.a),但并不是所有库都这样。只有动态库:常见于系统的核心库(比如你系统的底层 C 库),或者一些商业闭源软件(厂商只给你一个黑盒子,不让你直接把代码打包进你的程序)。

d_mail的博客 194
上一篇: PostgreSQL 19 将是一个质量优良的新版本
下一篇: PostgreSQL 日报|statement_timeout 与 Hash 索引补丁迭代(11 月 15 日)
IvorySQL
博客等级 码龄5年 745粉丝 566原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值