同样的行,SUM 出来的结果每次都不一样
用五百万行 double precision 读数做演示:三次完全相同的查询分别得到 2500519211.7874823 和 2500519211.7874575 等不同结果。原因是并行聚合让多个 worker 以不确定的顺序抓取数据块,部分和的合并顺序随之变化,而 IEEE 754 浮点加法不满足结合律,每一步舍入都会改变结果。需要对账的金额类数据应当存成 numeric,它按精确十进制累加,与并行度和聚合顺序无关。
pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
当天收录 24 条。
用五百万行 double precision 读数做演示:三次完全相同的查询分别得到 2500519211.7874823 和 2500519211.7874575 等不同结果。原因是并行聚合让多个 worker 以不确定的顺序抓取数据块,部分和的合并顺序随之变化,而 IEEE 754 浮点加法不满足结合律,每一步舍入都会改变结果。需要对账的金额类数据应当存成 numeric,它按精确十进制累加,与并行度和聚合顺序无关。
pgtt 为 PostgreSQL 提供 DB2 和 Oracle 风格的全局临时表,常用于 Oracle 迁移时不改应用代码的场景。HexaCluster 的 Gilles Darold 发布的 v4.5 是维护版本:新增对 PostgreSQL 19 的支持,支持 CREATE INDEX CONCURRENTLY,把全局变量改为 static 以消除编译警告,并修复了从转储恢复全局临时表目录时出现无效关系 OID 的问题。
Xata.io 把自家的云原生 Postgres 平台开源,采用 Apache 2.0 授权,用于在 Kubernetes 上自托管大量 Postgres 实例。底座是 CloudNativePG,之上加了 SQL 网关、分支 operator 与 serverless 驱动。写时复制让 TB 级数据的分支在几秒内完成,另有缩容到零、自动伸缩、读副本高可用和 PITR 备份。适合做内部 Postgres 服务平台,或开出预览与测试环境。
AWS 称为 MySQL 建立开放治理是社区向前的一步,VillageSQL 的文章则认为这是两步向前、一步向后:委员会是否握有实际决定权,还要看发布节奏、兼容性承诺、商标和贡献流程是否真的改变。MySQL 生态庞大,治理变化会一路传导到云数据库、分支发行版、企业标准和兼容层。同时维护 PostgreSQL 与 MySQL 的团队可以把这条线索留着,观察后续是否出现实质性的规则调整。
BleepingComputer 报道了一种针对 AI 编码助手的攻击:仓库本身看不出恶意代码,却能诱导助手在安装依赖或执行测试的环节运行恶意指令。AI 编码助手的默认行为正从读代码扩展到运行命令、装依赖、跑测试,原本只在开发者本机的风险被放大到自动化执行链路上。处理不可信仓库时应当默认隔离:禁用持久凭证、限制出网、清空环境变量、源码只读挂载,并在人工看过 install 与 test 脚本之后再执行。
Henson Choi 指出 v49 因 master 改了报错信息导致 cfbot 全平台报红,v50-0021 必须合入。
Álvaro Herrera 指出补丁措辞有误:refint 是 spi 这个 contrib 模块里的扩展,并非独立的 contrib 模块。
Rui Zhao 发现 schema_qualified=false 时缺少 token 边界检查,会改错跨 schema 的外键引用。
Amit Kapila 建议把 sent_bytes 改名为 output_bytes,并把 keepalive 等协议消息排除在统计之外。
AI 生成的 PR 与 issue 变多,审查成本落在人数没有变化的维护者身上。
GitHub 同时是协作平台、PoC 分发渠道和攻击者侦察面,这批漏洞的真实性仍需逐项复核。