↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

PostgreSQL 博览 RSS 订阅

当天收录 34 条。

PgBouncer 1.26.1 修复身份冒用与拒绝服务

PgBouncer 项目PgBouncer

PgBouncer 1.26.1 修复三项安全漏洞。最严重的问题发生在连接不存在的数据库并进行 SCRAM 认证时,已知一个用户密码的客户端可冒用其他用户,包括管理员与后端超级用户。另外两项缺陷可让未认证客户端触发死循环,分别涉及特定启动参数配置,以及调高最大报文大小后的整数溢出。使用方应升级并核对配置;新版本还让忽略参数规则优先于参数跟踪,恢复显式忽略 search_path 的行为。

psqlODBC 修复大批参数绑定的堆内存损坏

psqlODBC 团队psqlODBC

psqlODBC 18.00.0005 修复参数绑定数量溢出,影响 08.01.0102 至 18.00.0004。旧驱动用有符号 16 位字段计数,绑定第 32769 个参数时可能越界清零,造成崩溃或堆内存损坏。新版本将参数编号限制为 1~32767,越界返回 07009。根据外部输入拼接大型 IN 列表的应用应限制参数数,或改用数组参数。本次还修复千参数语句的类型名截断,以及 bytea 经 OLE DB 调用的兼容问题。

同步扫描起点会让重复查询快慢悬殊

Alexander IoffeExoBench

同一查询第二次突然变快,未必是缓存预热。Alexander Ioffe 在 150 万行表上反复运行带 LIMIT 的顺序扫描,首次约 78 毫秒,随后约 0.07 毫秒,但两次访问的页面都已在共享缓存中。实测差异来自同步顺序扫描复用上一次扫描位置,恰好从目标数据附近开始;关闭该机制后,每次都约 81 毫秒。作者用多轮执行的耗时、读页和过滤行数定位原因,提醒性能评估保留逐次样本,并用对照实验验证异常。

逐任务保存点让 PostgreSQL 队列越扩越慢

Rory Malcolmincident.io

incident.io 复盘了 PostgreSQL 队列增加工作进程后反而变慢的问题。批量锁行后,每个任务再建立保存点,会让父子事务共同持锁并产生 MultiXact;其他工作进程执行 SKIP LOCKED 时反复查询这些记录,放大内部锁竞争。团队把领取与执行拆成短事务和限时租约,缩小队列表,并让每个 Pod 只保留一个领取器。团队称整套优化后峰值吞吐达到原来的 3.5 倍,代价是进程崩溃后,已领取任务最多等待十秒再重试。

D1 用边缘路由与异步聚合避开中心数据库热点

David Laban、Lambros PetrouCloudflare

Cloudflare 复盘 D1 管理数百万个 SQLite 数据库的控制面设计:PostgreSQL 保存事务性元数据,Workers KV 提供分布式路由信息,让查询通常无需访问中心集群。数据库创建先初始化 Durable Object,再记录映射,失败后的孤立对象由周期心跳自行纠正。用量统计则先排队、记录差量,再按账户批量聚合,避免每次变化都争抢同一行锁。文章交代最终一致性的边界,为大量小数据库的租户隔离与配额管理提供实践参考。

curl 8.23 修补 HTTP/2 上传漏洞并移除 SMB

Daniel Stenbergcurl

curl 8.23.0 发布当天,项目集中披露 24 项漏洞。其中 HTTP/2 上传释放后使用影响 8.12.0 至 8.22.0;恶意服务端可用特定流重置响应触发问题,代码执行还依赖严格的版本、堆布局和时序条件。更新同时修复代理诱取源站凭据、跨协议重定向漏做 SSH 主机校验等问题,并移除 curl 与 libcurl 的 SMB(S) 支持。升级时应同时检查内嵌 libcurl 的应用和依赖 SMB 传输的脚本。