PostgreSQL 修复复制槽失效时的进程状态覆盖
PostgreSQL 已合入复制槽失效处理的状态覆盖修复。检查点或启动进程释放复制槽时,旧代码会误用仅对普通后端有效的数组偏移,覆盖另一个进程的状态标志。严重时可能丢失影响清理边界的标志,使 VACUUM 删除备库仍需要的行,即使已启用备库反馈也会受影响。补丁改为仅在逻辑解码标志确实存在时更新共享状态,提交注明回补至 PostgreSQL 14。这是已提交的修复,正式版本是否包含仍须看发行记录。
pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
当天收录 26 条。
PostgreSQL 已合入复制槽失效处理的状态覆盖修复。检查点或启动进程释放复制槽时,旧代码会误用仅对普通后端有效的数组偏移,覆盖另一个进程的状态标志。严重时可能丢失影响清理边界的标志,使 VACUUM 删除备库仍需要的行,即使已启用备库反馈也会受影响。补丁改为仅在逻辑解码标志确实存在时更新共享状态,提交注明回补至 PostgreSQL 14。这是已提交的修复,正式版本是否包含仍须看发行记录。
max_wal_size 是检查点触发阈值的计算依据,并非 pg_wal 目录的硬上限。Christophe Pettus 在 PostgreSQL 18.6 上实测:同一组短时 pgbench 负载把参数从 1 GB 调到 8 GB 后,WAL 写入从 3815 MB 降至 1080 MB。频繁检查点让热数据页反复写入完整页映像,也增加归档与复制成本。调大阈值时还须实测崩溃恢复耗时,结合检查点日志和恢复时间预算确定设置。
pg_clickhouse 0.11.0 与 chdb 扩展 0.1.2 继续处理 PostgreSQL 和 ClickHouse 之间的数据兼容问题。新增的编码选项默认拒绝无效字节,也可选择移除、替换或截断;替换模式在 UTF-8 下使用替代字符。版本还完善区间、嵌套复合类型与参数化 JSON 的映射。pg_clickhouse 同时停止支持 PostgreSQL 13,并调整原始查询接口名称,升级时应核对外部表数据编码和已有调用。
业务表很少变化时,CDC 连接器可能迟迟不推进已确认的日志位置,而同一实例的其他写入仍在产生 WAL,最终造成复制槽积压。AWS 分别介绍 DMS 与 Debezium 的心跳配置,用周期性写入帮助消费端推进进度。两者配置不能直接照抄:DMS 的心跳表无需加入任务选表规则,Debezium 的心跳动作则需确保对应表被采集。排查时应同时观察复制槽与日志保留量,区分低流量造成的停滞和真正的消费能力不足。
Neon 披露了两次由外部依赖故障触发的控制面事故:故障进入自我强化循环,阻碍数据库创建、唤醒和恢复。团队随后用三个月完成三十余项修复,覆盖控制面自身 PostgreSQL 的计划退化与长事务、连接池和 TCP 超时默认值,以及过载时的背压和队列公平性。复盘先量化客户影响,再将每项原因对应到可验证的措施;后续发布按变更风险增加故障演练、渐进放量和回滚检查,避免把依赖恢复当作系统已恢复。
Aurora PostgreSQL 新增查询 Iceberg 与 Parquet 数据的能力,将 DuckDB 嵌入实例,用外部表把湖中历史数据与本地业务表联查,免去预先复制整份数据。功能从 17.11 和 18.6 起提供,需启用 aurora_analytics 扩展并配置 IAM 角色。查询支持谓词下推、列裁剪和缓存,也可通过 Glue 联邦接入外部目录。读查询能放到副本运行;若将结果物化为 Aurora 表,仍须在写实例执行。
longjmp 会跳过 C++ 析构;案例分别讨论调用边界封装和独立辅助进程,以限制异常及崩溃传播。
按时间片回填后用兼容视图切换读取;连续聚合、权限和策略仍须检查,不能假定改名会自动迁移依赖。
DMS 通过 EC2 上的 Db2 Connect 接入大型机,方案采用周期性全量刷新,并用行数等检查验证结果。
垃圾回收等任务迁出以减少数据库扫描、写入和自建队列代码;元数据、复制日志及事务型队列仍留在 FDB。
正式版还让 Kafka Connect 的提交失败显式报错,升级前须核对 Spark 版本和连接器的失败处理。
使用独立计算资源加速 OneLake 数据分析;当前集成采用时间点快照同步,持续同步仍属后续计划。
R8a 覆盖 Aurora 和 RDS,M8a 面向 RDS;每个 vCPU 对应一个物理核心,容量对比需采用这一口径。
相较已报道的候选版,本次确认正式发布;新增类型转换及已知属性表达能力,帮助计划阶段推断值。