PostgreSQL 资讯
保留原始来源与发布日期的新闻、博客和活动。
CREATE/REINDEX CONCURRENTLY 将清理残留索引
锁统计的注入点竞态问题已修复
可调整大小共享内存合并为两个补丁
pg_plan_advice 改用重试替代串行测试
终止信号里附带 PID 与 UID 的补丁被打回
Andres Freund 指出信号包装层次混乱且不便翻译,功能可能赶不上 PostgreSQL 19。
空闲主库上的 WAIT FOR LSN 会一直阻塞
walreceiver 没给共享内存里的写入与刷新位置设初值,补丁 0001 已获认可。
节点级仪表化前两个补丁瞄准 PostgreSQL 19
totaltime 分配移到 ExecutorStart,插件可申请仪表化级别,实测提速 4% 到 12%。
pg_buffercache_pages 改用 tuplestore 后提速
不再依赖扫描期间 NBuffers 保持不变,实测快 10% 到 30%,耗时也更稳定。
并行 autovacuum 已提交,表级覆盖仍未定
全局参数为零时表级 reloption 能否覆盖存在分歧,将另开线程继续讨论。
rdtsc 计时补丁在六年之后落地
前三个提交已推送,用于降低 EXPLAIN ANALYZE 的计时开销,ARM 支持留到以后再做。
EXPLAIN 新增 IO 选项展示预取统计
补丁系列已全部提交,覆盖顺序扫描、位图堆扫描与 TID 范围扫描,默认关闭以免输出过长。
用 pgEdge MCP Server 管分布式集群
Ahsan Hadi 演示用 pgEdge MCP Server 管一套分布式 PostgreSQL 集群:每个节点一份 YAML 配置,在 Claude Desktop 里注册成多个 MCP 条目,指向同一个二进制。三个例子分别是查 spock.subscription 看复制健康、比对两节点的列类型与索引定义找模式漂移、用 pg_stat_statements 找最慢的五条查询。服务器默认只读,写操作要显式打开。
只读副本缓解的是读,写瓶颈一点没动
把分析查询挪到只读副本,主库 CPU 和写延迟立刻缓解,但写入瓶颈一点没动。Matty Stratton 指出写路径的机制不变:每行的 MVCC 开销、每次插入和每条索引项产生的 WAL,以及和 autovacuum 抢资源。加副本反而增加了延迟监控、连接路由和多实例管理的负担,写高峰时副本一落后,读请求又回到主库。真要解决得动存储模型,例如用列式批量处理把每秒 WAL 操作从几十万降到几百。
逻辑复制的行列过滤把敏感字段挡在源端
PostgreSQL 15 起,发布可以带列过滤和行过滤,不必再上中间件。Rishika Kasani 介绍的用法是:列过滤把个人健康信息、支付字段挡在源端,行过滤做多租户隔离或按地域分发。过滤在源库发送前生效,受限数据不出源系统,对 HIPAA、PCI DSS 这类合规要求有帮助。同一套 SQL 语法在 Amazon RDS、Aurora 和自建实例上通用。
PostgreSQL 与 Oracle 的 schema 差在哪里
Laurenz Albe 对比了两边的 schema。Oracle 里用户与 schema 一一绑定,PostgreSQL 把两者当作独立概念,对象所有权也可以单独管理。命名空间的划法也不同:Oracle 按 SQL 标准分类,PostgreSQL 把所有类关系对象归在一组,迁移时容易撞名。PostgreSQL 另有 schema 级的 USAGE 与 CREATE 权限,非限定名靠 search_path 解析。
pg_column_size() 报的是存储大小不是内容长度
pg_column_size() 报的是一个值实际占的存储字节数,不是内容长度。Lætitia AVROT 演示了两处容易踩空的地方:一万个字符压缩后可能只占 125 字节,仍留在主元组里;而一旦被挪到 TOAST 表,主元组里永远只剩 18 字节的指针,与原始数据大小无关。她建议把 pg_column_size() 的物理均值与 length() 的逻辑均值一起算,差距大就说明 TOAST 压缩在起作用。
PG19 发布说明将同时收录共同作者
rdtsc 计时补丁继续打磨
移除 xl_heap_visible 后 FSM 更新逻辑受质疑
CREATE/REINDEX CONCURRENTLY 优化补丁再变基
自定义 OAuth 验证器选项即将提交
JSONB 提取优化将支持下标写法
pg_plan_advice 收到两个 bug 与设计批评
未命名子查询触发 rtoffset 错误,表采样导致 RTI 故障,与规划器扩展的兼容也受质疑。