Odyssey 1.5.1 发布,重构扩展协议支持
Yandex 发布多线程连接池 Odyssey 的 1.5.1。新增简单共享池、事务池的 pool_pin_on_listen 选项、cpu_affinity、用 aws-lc 构建、SSLKEYLOGFILE 支持,以及 avg_wait_time 和 total_wait_time 两个排队指标。扩展协议支持经过重构,修掉多处协议违规并提升流水线性能,取消请求的竞态也一并修复。
pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
当天收录 33 条。
Yandex 发布多线程连接池 Odyssey 的 1.5.1。新增简单共享池、事务池的 pool_pin_on_listen 选项、cpu_affinity、用 aws-lc 构建、SSLKEYLOGFILE 支持,以及 avg_wait_time 和 total_wait_time 两个排队指标。扩展协议支持经过重构,修掉多处协议违规并提升流水线性能,取消请求的竞态也一并修复。
ClickHouse 发布 pg_re2,提供基于 RE2 的函数、算子和索引支持,厂商称自有基准里函数快 1.8 到 8.6 倍,B-tree 与 GIN 检索快 1.1 到 1.8 倍。另一个动机是让正则语义与 pg_clickhouse 的推送路径保持一致。RE2 以有限自动机为基础,运行时间上界更可控,但这个保证来自受限的特性集,不是无成本替换,切换前应以原生结果为基准做差分测试。
Hans-Jürgen Schönig 解释 PostgreSQL 19 的 SQL/PGQ 本质上是解析层的改写:图查询被转成针对底层表的普通 join,交给标准优化器规划,所以性能可预期,现有索引直接生效,EXPLAIN 输出的也是普通连接树。索引策略与外键列一致,反向遍历要在目标列上单独建索引。当前不支持可变长度路径、ANY SHORTEST 和路径变量绑定,这些仍要用 WITH RECURSIVE。
Greg Burd 提交了三个补丁:把 clock sweep 批处理以减少 nextVictimBuffer 上的原子竞争;用 HOT 和 COOL 两态的冷却阶段驱逐器取代按 usage_count 的扫描;移除 BufferAccessStrategy。AWS m6id.metal 上的基准显示批量 UPDATE 慢约 5%,批量 INSERT 慢约 8 到 10%,VACUUM 快约 19%。回退主要来自失去 ring 策略的写回延迟。
Greg Burd 提交第四版补丁,把 port/atomics.h 重新实现在 C11 <stdatomic.h> 之上,由 -Duse_stdatomic 选项启用,默认关闭。关键发现是读操作必须用 seq_cst 而不是 relaxed,因为传统 volatile 读隐含的编译器排序需要等价保证,这由 RISC-V 上并行哈希连接的失败测试验证。写操作用 relaxed,避开 aarch64 上约 5 倍的争用开销。
Robert Haas 提交文档补丁,警告授予 TRIGGER 和 REFERENCES 权限的安全风险:这两种权限都可能让被授权方以表所有者的身份执行自己选择的代码,措辞参考了现有的 pg_execute_server_program 说明。Nathan Bossart 建议做成 note 或 warning 标记。Greg Sabino Mullane 等人主张干脆移除这两个权限,Tom Lane 指出它们是 SQL 规范要求的。
David Steele 的补丁给 ControlFileData 加一个 backupLabelRequired 标志,确保 pg_basebackup 生成的基础备份在缺少 backup_label 文件时无法恢复。补丁此前因长期无人跟进被撤回,后来重新提交了简化版。Solai 在 PostgreSQL 20devel 上测过:恢复后缺 backup_label 时集群拒绝启动并报错。标志在写备份控制文件时设置,恢复期间检查。
Precursor 在页面注入客户端脚本,持续产生信号并由 Cloudflare 更新会话状态,可以选择尽量少打扰用户,或者先用轻量 challenge 建立完整验证。官方文档说明它取代 JavaScript Detections 的单次执行,但不替代 challenge 页面;启用之后可能让已有的 clearance 失效,或在会话中再次要求验证。稳妥做法是先在低风险 zone 分流,比较分数分布、转化率和误封申诉。
一份抓包报告称,在特定版本和配置下观察到 Grok Build 独立上传 Git bundle,其中包含 agent 被要求不要读取的文件和提交历史。报告本身明确说没有证明每个用户都受影响、xAI 用这些数据训练或所有文件都被收集,xAI 的产品页把该工具标为早期测试版。稳妥做法是暂停在敏感仓库使用该客户端,保留日志,在隔离网络复测出网行为并轮换凭据。
难点是 PostgreSQL 没有通用的行过滤节点,ExecResult 不支持逐行循环过滤。
Andrey Borodin 指出恢复侧存在对称缺陷,回退路径每页都会重开 segment。
0005 修掉 NESTED PATH 约 3.7 倍的性能回退,0006 把冗余错误改成断言。
heap_update() 在两个位处于同一 VM 页时注册了错误的缓冲区标签。
后处理方案不影响计划结构,却算不进代价,EXPLAIN 的行数也会对不上。
Tristan Partin 的补丁同时覆盖递归下降解析器与增量解析器。
Robert Haas 认为超出 work_mem 极罕见,写进文档比直接报错更合适。
这是用 pg_timetable 替代 pgAgent 系列的第二篇。
公开条目没有给出容量、复制与灾备的工程细节,只能说明部署确实变了。
缓存断点可以复用固定系统指令与工具定义,各档模型的可用区域并不相同。
工作树与会话状态分开持久化,出网走虚拟机之外的 DNS 感知白名单。
公告列出七座燃气机组、三套电网级电池和核电增容等供电安排。