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

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

PostgreSQL 博览 RSS 订阅

当天收录 26 条。

pgmq 1.13.1 修复消息越权与路径劫持

pgmq 社区pgmq

pgmq 1.13.1 修复了消息队列扩展的两类权限问题:函数固定可信搜索路径并限定内部对象名称,防止攻击者借同名对象执行他人权限的代码;监控角色也不再拥有队列与归档表的整表读取权限,避免消息正文和头部泄露。升级脚本会撤销旧的宽泛授权,并为已有队列补上监控所需的列级权限。项目建议旧版本用户升级;如果撤权失败,升级只会记录警告,因此还需核查日志与实际权限。

DocumentDB 1.0 达到正式可用状态

DocumentDB 社区DocumentDB

DocumentDB 发布首个正式可用版本 1.0,以 PostgreSQL 保存原生 BSON,并通过网关兼容 MongoDB 协议。该版与 RC2 代码相同,包含查询权限检查、聚合与索引崩溃修复,以及网关错误报告改进;排序规则支持仍需显式启用。Linux 软件包支持 PostgreSQL 17、18,容器覆盖 15 至 18。旧容器数据卷不会自动更新扩展模式,候选版也没有原位升级路径,迁移须准备新卷并重新加载数据。

CNPG 合入数据库用户密码生成与轮换

Gabriele BartoliniGabriele Bartolini

CloudNativePG 已合入角色密码生成与轮换功能,计划随尚未发布的 1.31 提供。控制器可为 DatabaseRole 生成密码,保存到自己管理的 Secret,并按配置提前轮换;密码有效期同时写入 PostgreSQL,逾期即拒绝新连接。轮换默认关闭,一个角色仍只有一个密码,客户端重连时必须重新读取凭据。副本集群在提升后才生成密码;改密不会立即断开旧会话,目前可通过开发快照试用。

PolarFS 用磁盘租约约束共享存储单写者

NeilXPAwide Labs

Awide 复盘了 PolarFS 在共享块设备上约束单写者的租约设计。各主机将租约写入独立磁盘扇区,以轮次和存活记录仲裁;持有者持续续租,失败时通过进程退出、强制终止及可选内核看门狗逐层隔离。初版曾把不可读扇区当作空记录,也未充分防住时钟偏移和获取租约途中停顿,修正后遇到这些情况会拒绝挂载。安全性仍依赖时钟偏差不超配置上限,以及被隔离节点确实停止写入。

Materialize 用读已提交构建线性化日志

Petros AngelatosMaterialize

Materialize 复盘了 PostgreSQL 元数据存储的亚稳态故障:SIRead 谓词锁膨胀放大了瞬时变慢,每次插入的冲突检查成本随之上升。新方案依靠连续日志、主键仲裁、前驱行共享锁和永久初始化标记,在读已提交级别实现线性化日志,并用 Lean 4 建模证明。团队称同机测试写吞吐约为原来的三倍。功能默认关闭,需先将部署完整升级至 v26.33 或更高版本,再切换隔离级别。

Materialize 用主键前缀并行读取 MySQL 快照

Peter LarsenMaterialize

Materialize 团队复盘了超大 MySQL 表的快照并行化:按聚簇主键划分连续范围,用可走索引的前缀探测与 EXPLAIN 估算分配负载,避开 COUNT 和 OFFSET 的全量扫描。团队称,客户最大表的快照耗时由约 30 小时降至 3 小时。实现还需处理字符串排序规则、尾随空格与估算偏差;当前仅覆盖部分字符类型和排序规则,收益取决于数据分布及源库 I/O 能力。