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

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

PostgreSQL 博览 RSS 订阅

当天收录 20 条。

索引预取补丁到 V30,首个补丁准备提交

Peter GeogheganPostgreSQL hackers

Peter Geoghegan 准备好索引预取补丁系列的 V30,计划在 7 到 10 天内提交 0001。Tomas Vondra 审查后指出 heap_fill_ios_slot 的命名和注释有误导,已改名为 index_fill_ios_slot 并移到 indexam.c,让它真正与 table AM 无关。另一处行为变更是 pgstat_count_index_tuples 改为每批计一次,语义与位图索引扫描一致。

新 GUC disconnect_requested 让客户端优雅断连

Jelte Fennema-NioPostgreSQL hackers

Jelte Fennema-Nio 提出一个只读 GUC disconnect_requested,是早前 GoAway 提案的重新设计,不改动协议。该值为 on 时服务器发送 ParameterStatus 消息,建议客户端在合适时机断开重连;可以用新函数 pg_request_disconnect_backend(pid) 手动触发,并在 smart 关机模式下自动启用。PgBouncer 这类代理可借此做无停机重启。

在线开关数据校验和拟允许分散检查点

Tomas VondraPostgreSQL hackers

Tomas Vondra 的 v4 补丁让在线启用或禁用数据校验和时可以使用分散检查点。Ewan Young 发现文档把 pg_disable_data_checksums 的 fast 参数默认值误记为 false,实际是 true,v4 已改正。Fujii Masao 又指出读取 DataChecksumState->fast_checkpoint 时没有持 DataChecksumsWorkerLock。Tomas 认为加锁未必必要,但同意修文档。

Key joins 特性拆成十个更小的补丁

Arne RolandPostgreSQL hackers

Joel Jacobson 审查了 Arne Roland 为 Key joins 提交的修订补丁系列。这一版把实现拆成十个更聚焦的提交,内容包括在基表之间证明 FOR KEY joins、错误信息机制、派生表、GROUP BY 与 DISTINCT、FILTER (WHERE ...) 子句,以及引用与被引用过滤条件的追踪。Joel 认可这种细粒度拆分,并指出第一个补丁里 parse_key_join.c 已有 1487 行。

relfilenode 统计重设计先清理索引的无用计数

Michael PaquierPostgreSQL hackers

Michael Paquier 正在重做 relfilenode 统计,重点是清理索引的关系统计:目前有大量字段常驻内存并写入磁盘,对索引却从来没被用过。Andres Freund 质疑索引统计的清理是否应该单独处理,而不是并进这次重设计。Michael 认为先把计数器分开,能让 relfilenode 统计的实现和 WAL 重放期间的重新计算逻辑都更清晰。Bertrand Drouvot 建议回到已有线程继续讨论。

GhostLock 揭出 rtmutex 里存在十五年的提权缺陷

Nebula SecurityNebula Security

Nebula Security 的报告把 GhostLock 描述为 rtmutex 代理路径错误清理 current->pi_blocked_on 造成的内核栈悬垂指针,称无权限用户可借此形成可控写并提权,影响自 Linux 2.6.39 以来的代码路径。要害是上游已修而资产基线未必已修:多租户宿主机、CI runner 和 Kubernetes 节点需按发行版公告核对内核版本与重启状态,不能只看上游版本号。

Scarf 在生产用了七年 Haskell 后转向 Python

Scarfavi.press

Scarf 保留原有的 Haskell API 和高性能 Gateway,把新增的 API route 放到 Python,两套并排部署、按路径路由逐步搬迁。作者给出的理由不是运行时性能,而是长冷构建、工具链和环境维护在多个编码 agent 并发时变成吞吐瓶颈。文中也强调迁移重新实现了认证、数据库访问、模型、镜像和测试。评估这类效率问题,值得量化从干净检出到第一个可靠测试结果的时间。