Postgres 19 支持在线开启数据校验和
数据校验和能发现存储层悄悄损坏的页,过去只能在初始化集簇时决定开关,事后转换要用 pg_checksums 停机离线跑,中断还无法续跑。PostgreSQL 18 已把校验和设为新集簇默认,19 再提供 pg_enable_data_checksums(),由后台工作进程在线遍历数据页完成转换,并像基于代价的 VACUUM 一样限速。data_checksums 参数会显示转换进度,关闭时不重写页面,几乎瞬时完成。
pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
当天收录 34 条。
数据校验和能发现存储层悄悄损坏的页,过去只能在初始化集簇时决定开关,事后转换要用 pg_checksums 停机离线跑,中断还无法续跑。PostgreSQL 18 已把校验和设为新集簇默认,19 再提供 pg_enable_data_checksums(),由后台工作进程在线遍历数据页完成转换,并像基于代价的 VACUUM 一样限速。data_checksums 参数会显示转换进度,关闭时不重写页面,几乎瞬时完成。
PostgreSQL 执行器一次只处理一行,扫描节点的每行开销在分析型查询里格外明显。Amit Langote 发出执行器批处理补丁第 8 版,相比上一版重新设计:批次直接内嵌在扫描槽里,新增两个 TableAM 回调,去掉 RowBatch 容器、executor_batch_rows 参数和 EXPLAIN BATCHES 输出,批次固定为堆表一页的可见元组。本轮只改造顺序扫描,count(*) 在全可见页上快 20–21%。
REPACK CONCURRENTLY 在含生成列的表上会失败,并发出现非 HOT UPDATE 时报出找不到列的生成表达式。Álvaro Herrera 已提交修复,把 catalog 行的复制限制在并发模式下。同一轮还改了 updatedCols 的构建,忽略已删除的列:它们不可能是索引键列,标记为已更新在语义上就是错的。Ewan Young 用注入点测试验证了两处修复,后一处只轻微影响 btree 索引提示。
把 effective_io_concurrency 设到 64 或更高之后,对带 TOAST 数据的临时表做顺序扫描,ReadStream 的预读会把全部本地缓冲区 pin 住,TOAST 索引查找随即报出没有空闲本地缓冲区。Induja Sreekanthan 给出复现步骤和补丁,把 max_pinned_buffers 限制为本地缓冲区的 75%。根因与另一个已知缺陷相同,PostgreSQL 19 已把预读预算削到四分之一,是否回合 18 待定。
嵌套循环是唯一能配合任意连接条件的方式,不等值连接和交叉连接都只能靠它,所以 enable_nestloop 默认打开。Christophe Pettus 在 GUC 逐项解读系列里写道,它出问题的典型形态是规划器以为外侧只返回五行,实际来了几十万行,本来便宜的索引查找被执行几十万次,查询从几毫秒拖成几分钟。临时关掉可以确认病灶,但病根是基数估算偏差,该去 ANALYZE、调统计目标或建扩展统计。
工作流引擎通常自带存储,与业务数据分处两地,一致性只能靠补偿逻辑维持。DBOS 的这篇文章主张把 workflow 状态与应用数据放进同一个 Postgres,用一次数据库事务解决其中一部分分布式系统复杂性,durable execution 和 agent 工作流因此重新向数据库靠拢。文章原发于 6 月 15 日,7 月初重新热起来。真这么用,先撞上的通常是运维边界:队列表膨胀、VACUUM 压力和长事务持锁。
Fujii Masao 提交后 buildfarm 因 verbose 日志插入 SQLSTATE 而失败,修复已推送。
并发 ALTER SUBSCRIPTION 会因过期快照踩到断言,pg_subscription 两个新列的文档也已补上。
Michael Paquier 应用 v3,把两个缓冲区描述符取值函数的参数统一改为有符号整数。
Michael Paquier 与 Fujii Masao 反对 on 的含义随编译选项变化,需要 lz4 就显式指定。
这个 PostgreSQL 贡献者培养计划的第三次线下聚会,总结了议题、已提交补丁与下一步方向。
这个基于 mmap 的极简键值库是许多底层系统的长期依赖,1.0 让它重回选型对比表。
AWS 给出的案例把重点放在预生产镜像、复制延迟、切换窗口与回滚条件,而不是功能可用性。
官网已把 6.0.0 标为最新稳定版,升级前需核对 Buildah、Skopeo、Netavark 版本与本地数据迁移。
企业管理用户可经流式端点或 REST API 取会话记录,并接入审计日志与 Microsoft Purview。