选择 打开 改范围 完整检索页

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

PostgreSQL 博览 RSS 订阅

当天收录 22 条。

Ubicloud 为 Postgres 选择严格内存 overcommit

Burak YucesoyUbicloud 博客

OOM killer 杀掉正在改共享内存的后端进程时,共享内存可能停在不一致状态,有损坏已存数据的风险;postmaster 随即终止所有后端,重启还要跑崩溃恢复。Ubicloud 的 Burak Yucesoy 说明他们把 vm.overcommit_memory 设为 2,用分配阶段的 ENOMEM 换掉这种又晚又暴烈的失败,vm.overcommit_kbytes 取总内存的 80% 加 2GB。代价是机器混跑别的负载时,数据库也会被牵连着拿到 ENOMEM。

psql 的 \d tablename 退化成了顺序扫描

Jelte Fennema-NioPostgreSQL hackers

提交 85b7efa1cdd 带来一处回归,psql 的 \d tablename 从索引扫描退化成顺序扫描,目录一大就明显变慢。Andres Freund 最先发现,Jelte Fennema-Nio 定位根因并给出恢复索引扫描的补丁。Tom Lane 审查后认为方向正确,但必须同时检查两个排序规则是否都是确定性的,只查一个不够。他还指出原提交说明有几处不准确:问题只影响精确匹配而不影响前缀匹配,正则表达式和 LIKE 模式都会中招。修订后的 v2 补丁已附在邮件里。

全局临时表补丁 v6 修掉一处数据损坏

Dean RasheedPostgreSQL hackers

Dean Rasheed 发布全局临时表补丁的 v6,修掉了 Nico Williams 借助大模型辅助审查找出的一批问题。最要紧的一处会造成数据损坏:TRUNCATE 把会话级的冻结 XID 错误写进了共享的 pg_class。其余包括 vacuum.c 的未初始化变量、少拿 ProcArrayLock、事务结束时没重置的计数器。设计上 v6 把 pg_class 里全局临时表的冻结 XID 一律置零,只更新 pg_temp_class。

enable_parallel_append 管的是分区之间的并行

Christophe Pettusthebuild.com

Parallel Append 让不同工作进程同时扫描不同的分区或 UNION ALL 分支,而不是全挤在同一个子节点上,是分区之间的粗粒度并行。Christophe Pettus 指出它还能混用可并行与不可并行的子节点,普通 Append 做不到,对只有非并行索引的分区表尤其有用。参数默认打开。小查询并行后反而变慢时,可以临时关掉确认是不是启动开销盖过收益,但正确的收尾是更新统计、调 parallel_workers 或代价阈值,再改回默认。

攻击者借 Langflow 漏洞自动化勒索数据库

SysdigSysdig 博客

Sysdig 记录了一条名为 JADEPUFFER 的攻击链:入侵者利用 Langflow 的漏洞拿下实例,再自动化地对能触达的数据库实施勒索。这类 AI 与低代码工具往往被快速部署到公网,权限给得很大,硬化和补丁都跟不上,于是成了攻击者优先挑的软柿子。可行的对策是把 agent 与 flow 类服务默认放回内网、强制认证、限制出站访问,把数据库凭据与服务隔离开,并把它们纳入常规漏洞扫描,而不是当试验品放着不管。