PG 修复取消通知读取后队列不再推进的问题
PostgreSQL 已合入一项通知队列停滞修复:后端读取通知时会设置推进标志,但若在等待安全快照期间被取消或遇到错误,旧代码没有清除该标志,后续既不会推进队列,也不会再次唤醒该后端,队列尾部因此停住。补丁把清理动作加入顶层事务中止路径,提交标注回补至 PostgreSQL 19。依赖 LISTEN / NOTIFY 的应用应跟进包含该修复的版本,并把通知积压纳入运行监控。
pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
当天收录 26 条。
PostgreSQL 已合入一项通知队列停滞修复:后端读取通知时会设置推进标志,但若在等待安全快照期间被取消或遇到错误,旧代码没有清除该标志,后续既不会推进队列,也不会再次唤醒该后端,队列尾部因此停住。补丁把清理动作加入顶层事务中止路径,提交标注回补至 PostgreSQL 19。依赖 LISTEN / NOTIFY 的应用应跟进包含该修复的版本,并把通知积压纳入运行监控。
Christophe Pettus 用实际恢复过程解释了定点恢复参数的边界:以 shutdown 动作停在目标处后,若直接删除 recovery.signal 再启动,服务器会转入崩溃恢复,重放本地剩余 WAL,可能再次执行本想避开的误操作。正确流程是保留恢复目标与信号文件,将动作改为 promote。文章还展示了时间线选择、事务提交边界和遗留恢复参数怎样改变结果,为恢复脚本与演练提供了具体检查项。
Christophe Pettus 梳理了 PostgreSQL 物理副本从建库到故障接管的完整流程。非计划切换应先确保旧主库无法继续写入,再比较候选副本已接收与已回放的 WAL 位置,选出拥有最多日志的节点;仅看网络是否可达或某个延迟指标并不够。提升后还需重建物理复制槽、调整客户端入口与备份归档,并检查旧主库能否回退为副本。文章将隔离、数据丢失范围和恢复冗余串成可演练的操作顺序。
pgEdge 介绍了 pgVolvra 的行级撤销方案:对预先启用跟踪且具有主键的表,用 SQL 和 PL/pgSQL 触发器记录变更,再按事务、标记或条件预览并执行逆向操作。它在撤销前核对当前行,遇到后续修改会中止或按策略跳过,避免无条件覆盖新数据。当前版本仍为测试版,无需超级用户或预加载库,但会增加写入与 WAL 开销。它适合纠正已跟踪的误操作,不能替代覆盖整库与介质故障的备份。
PGDG 为 Amazon Linux 2023 恢复 PostGIS 软件包,覆盖 PostgreSQL 14 至 18 的 x86_64 与 aarch64 架构,并加入 SFCGAL 支持。维护者通过独立安装路径与运行时库搜索路径提供 GDAL、GEOS、PROJ 等依赖,避免替换发行版自带库;缺少依赖的部分 GDAL 驱动仍不可用。此次恢复让该平台重新获得可安装的空间分析组件,但部署前仍需核对数据格式驱动与扩展版本。
QuestDB 10.1 增加服务端降采样、精确分位数函数及更多时序连接能力,同时修复查询结果、索引和写入身份校验问题。升级包含多项不兼容变化:无聚合的 HORIZON JOIN 不再自动去重,错误的时间间隔字符串会被拒绝,整数算术统一按 32 位溢出规则处理。受影响的物化视图可能需要完整刷新,Intel Mac 支持也被移除。使用时序连接和旧查询模板的团队,应先核对发布说明中的迁移要求。
CREATE SCHEMA 内部对象重新补全目标模式名,避免索引或触发器错误解析到 pg_temp 等模式;修复标注回补至 PG 19。
技术文章拆解图查询的解析与改写路径及能力边界;该功能已从 PG 19 撤回,文中原型并非可用的正式版特性。
在一个短事务中原子替换 NOT VALID 约束,再单独 VALIDATE;新增写入立即受约束,存量扫描使用较轻的锁。
新增复制槽、pg_stat_io、异步 I/O、cgroup 限额与 PSI 报告,让数据库等待与主机资源压力可以对照分析。
工程案例以 ClickHouse 承担事件处理与留存,PostgreSQL 保留元数据;物化视图先承接变换,稳定后再酌情迁入 Go。
tablediff 提供独立的数据差异证据;只读副本不能写修复表,提升后需重做比较,并为修复语句补上显式事务。
数据管道新增插入与更新插入操作;跨文档原子性需要显式事务,普通批量写入可能部分成功。
实例可用临时私网地址与同一 VPC 的资源通信;地址不跨重启或更新保留,访问规则应按子网范围配置。