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

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

PostgreSQL 博览 RSS 订阅

每日精选 PostgreSQL、数据库与云计算资讯

21 条

Google Cloud SQL 评测:高可用备库不可读

Christophe Pettusthebuild.com

Christophe Pettus 评测了 Google Cloud SQL。Enterprise 版就是 Google 托管虚拟机里的一个 PostgreSQL 进程;Enterprise Plus 加了一层读缓存,热数据超过 shared_buffers 时能明显降延迟。优点还有 IAM 认证和带执行计划的 Query Insights。限制是高可用备库不可读,扩展走白名单,没有 RDS Proxy 式的托管连接池,磁盘只增不减。

Snowflake、Lakebase、HorizonDB 各自的锁定

Christophe Pettusthebuild.com

Christophe Pettus 认为选这三家的第一个问题不是引擎强弱,而是团队已经站在哪个数据平台上。Snowflake Postgres 最像原版 PostgreSQL,用开源的 pg_lake 接湖仓。Lakebase 建在 Neon 引擎上,即时分支适合 CI 与时间点恢复。Azure HorizonDB 自研存储只兼容协议,号称三倍吞吐、支持 3072 vCore 与 128 TB。三者都要牺牲扩展与升级节奏。

AWS 用种子 LSN 把 RDS 逻辑复制迁到 Aurora

Russell SwansonAWS Database Blog

从 RDS for PostgreSQL 迁到 Aurora 时,两者存储架构不同,快照恢复后 LSN 会被转换,标准逻辑复制因此建立不起来。AWS 给的办法是先用同一份快照恢复出一个临时 RDS 实例,从中取出正确的种子 LSN,再用它启动复制,原生的发布订阅和 DMS 的 CDC 专用任务两条路都适用。这样可以在多读节点的 Aurora 集群上做真实压测,并在一个维护窗口里同时完成迁移和大版本升级。

hackorum 与 pginbox 合并做邮件列表界面

Kai WagnerPercona Community

pgsql-hackers 的邮件量对新人并不友好,hackorum 和 pginbox 两个团队各自做出了几乎一样的网页界面:论坛式的只读视图,带 commitfest 集成、贡献者档案、已读追踪和团队共享笔记。两边决定合并而不是互相竞争,由 Percona 的 Kai Wagner 和联合创始人 Zsolt 牵头,Jack Bonatakis 加入。目标是让这条高流量列表更好导航。

ParadeDB 上架 Render,一键部署社区版

Ming YingParadeDB 博客

ParadeDB 把 BM25 全文检索、向量检索和混合检索做进 PostgreSQL。Ming Ying 宣布它登陆 Render:一份 Render Blueprint 会创建带 10 GB 持久磁盘的私有服务,自动生成数据库凭据并配好环境变量,从零到实例可用不到一分钟。文中用带相关度打分和评分阈值的查询演示了 BM25 检索。这次上架部署的是 ParadeDB 社区版,文章没有给出计费细节。

CYBERTEC 与 SUSE 结成开源数据平台联盟

Bilal IbrarCYBERTEC 博客

CYBERTEC 与 SUSE 宣布战略合作,把 SUSE 的企业级 Linux 与 Kubernetes 管理能力和 CYBERTEC 的 PostgreSQL 技术拼在一起。CYBERTEC 的 Migrator、Scalefield 与企业版 PGEE 已通过 SUSE Ready 认证,并完成 SUSE Rancher Prime 兼容性验证。双方口径是为金融、医疗、零售行业提供端到端的开源数据平台。

34 条

pgAdmin 4 v9.15 修复八个安全漏洞

pgAdmin Development TeampgAdmin

pgAdmin 团队发布 4 v9.15,19 项改动含八个 CVE 修复:服务器模式下的跨用户数据访问与权限提升、构造对象名触发的存储型 XSS、Maintenance 工具的 SQL 注入、导入导出的命令注入、LLM API 端点的文件包含与 SSRF、可导致远程代码执行的不安全反序列化、文件管理器路径遍历,以及身份验证绕过。新版还允许 Docker 镜像按 PUID、PGID 以非默认用户运行,BigAnimal 集成进入弃用。

pg_clickhouse 0.3.0 补上 JSON 映射与更多下推

David E. WheelerJust a Theory

David Wheeler 发布 pg_clickhouse 0.3.0,这个扩展让 PostgreSQL 把更多工作推给 ClickHouse。新版把 ClickHouse 的 JSON 类型映射到 JSONB,新增 to_char、soundex 与 levenshtein 的下推,并接入 re2 扩展让两端正则行为一致。内建函数的自动下推被取消,改为显式映射;clickhouse_raw_query() 也收回了公共执行权限。

pgFormatter v5.10 支持 MERGE 语句格式化

HexaClusterPostgreSQL 新闻

HexaCluster 发布 pgFormatter v5.10。这个 PostgreSQL 的 SQL 与 PL/pgSQL 格式化工具新增了 MERGE 语句支持,并修掉一批排版问题:DO 块里变长类型在右括号前多出空格、CREATE POLICY 的 WHERE 子句与缩进、CTE 中 INSERT 的 RETURNING、SELECT INTO 的缩进。此外增强了 JSONB 数组删除操作符的处理。

PostgresBench 公开对比五家托管 Postgres

Lionel PalacinClickHouse 博客

ClickHouse 开源了 PostgresBench,用公开可复现的方法评测托管 Postgres 服务,查询、数据集和结果全部公开。测试用 pgbench 跑 TPC-B 类负载,256 个并发客户端、16 个线程,每轮十分钟,数据集分约 100 GB 与 500 GB 两档,记录平均 TPS 与 P95、P99 延迟。对比对象包括 Aurora PostgreSQL、RDS、Neon 和 Crunchy Bridge。

Kubernetes 卷组快照在 v1.36 进入 GA

Xing YangKubernetes 博客

卷组快照让多个 PersistentVolumeClaim 在同一时间点拿到崩溃一致的快照,Kubernetes 用标签选择器把它们归成一组。该特性从 v1.27 的 Alpha 起,两次 Beta 后在 v1.36 转正,只对 CSI 驱动生效,树内存储插件不适用。对在 Kubernetes 上跑 PostgreSQL、Kafka 这类跨多个卷保持写序一致的应用,这是备份恢复的基础能力,上线前要确认 CSI 驱动是否实现了组快照接口。

FreeBSD 修复 execve 提权漏洞 CVE-2026-7270

FreeBSD 安全团队FreeBSD 安全公告

FreeBSD 安全公告 FreeBSD-SA-26:13.exec 描述了 execve(2) 中的一个运算符优先级错误:缓冲区溢出让攻击者可控的数据覆盖相邻的参数缓冲区,普通用户借此能拿到超级用户权限。13.5 到 15.0 的受支持版本都受影响,没有缓解办法,只能打补丁:15.0 可用 pkg 升级基础系统包,其余用 freebsd-update 或源码补丁重编内核。多租户 shell 与 CI 跳板机应优先处理。

28 条

PostgreSQL 18 给大表自动清理加上死元组上限

Christophe Pettusthebuild.com

PostgreSQL 18 新增的 autovacuum_vacuum_max_threshold 给自动清理的触发条件加了一个硬上限。旧公式按比例计算,十亿行的表要积累两亿死元组才触发清理;新参数默认一亿元组,实际阈值取它与旧公式结果中较小的那个,五亿行是分界点。Christophe Pettus 建议在 18 上保持默认值,只对更新极频繁的大表按表设更紧的上限,设成 -1 则关掉上限。

AWS 演示从 Aurora 快照迁移到 Aurora DSQL

Dan BlanerAWS Database Blog

Aurora DSQL 无法直接还原 Aurora PostgreSQL 的快照。AWS Database Blog 给出的路径分五步:做快照、导出到 S3 成 Parquet、用 Glue 爬虫编目、跑 PySpark 作业转换,再写入 Aurora DSQL。更值得先看的是限制:DSQL 每个集群只有一个数据库,多库要分次迁移;时间戳列要从字节数组转回;单事务三千行的上限要求调小批量;主键换成 UUID 后外键关系需要重建。

ElastiCache 支持 Valkey 9.0,加入全文与向量搜索

Mas KuboAWS Database Blog

AWS 宣布 Amazon ElastiCache 支持 Valkey 9.0。这一版把检索能力搬进缓存层,支持全文搜索、语义检索,以及把文本相关度与向量相似度结合的混合查询,可用于商品目录检索、文档发现和检索增强生成。引擎层的命令解析和批量请求处理也做了优化,AWS 称流水线负载吞吐最高提升四成。此外哈希字段可以单独设置过期时间,集群模式支持编号数据库作为轻量命名空间,地理查询新增任意多边形范围。该版本在所有区域提供,不额外收费。

Discord 把 ScyllaDB 集群运维交给 Rust 控制面

Peter FrenchDiscord 工程博客

Discord 的持久化基础设施团队只有七个人,要维护数十个 ScyllaDB 集群、数百个节点,上面存着消息、频道、服务器和大部分用户数据。他们用 Rust 写了编排框架 Scylla Control Plane,把建集群、加节点、滚动升级、重启、drain 和修复做成统一流程:任务声明前置条件并保证幂等,工作流用 YAML 描述,状态存进 SQLite,失败可重试可续跑。作者称过去要三十六小时以上的操作现在两小时内完成。

Ubuntu 发布 Dirty Frag 缓解指南,两个提权公开

CanonicalUbuntu 博客

Canonical 称 2026-05-07 公开的两个 Dirty Frag 漏洞影响 Linux 内核模块,其中一个是 CVE-2026-43284,另一个待定,Ubuntu 14.04 到 26.04 LTS 均受影响。官方的临时办法是阻止 esp4、esp6、rxrpc 模块加载并卸载已加载的模块。共享主机、CI runner 和容器宿主机风险最高;不用 IPsec 或 AFS 的机器可尽快禁用模块,其余等发行版补丁。

AWS us-east-1 故障波及 FanDuel、Coinbase

CNBCCNBC

CNBC 称 AWS 北弗吉尼亚 us-east-1 数据中心事件影响了 FanDuel、Coinbase 等业务,讨论集中在故障透明度、可用区命名和状态页的可信度。us-east-1 仍是许多控制面和业务面的事实中心,单个可用区或机房的事件一旦碰上状态服务、队列、数据库或第三方 API,就会外溢到理论上跨可用区的系统。复核依赖时,RDS、ElastiCache、EKS、队列、DNS、KMS 和 CI/CD 都要确认是否真的跨故障域。

Vercel 发布 Next.js 五月安全更新

VercelVercel Changelog

Vercel 发布了 2026 年 5 月的 Next.js 安全更新,Cloudflare 前一天也给出边缘 WAF 与框架适配层的缓解说明,并指出若干高危问题无法只靠托管规则集拦截。Next.js 的安全问题不只停在前端依赖上,App Router、middleware、边缘适配器和缓存行为都可能落在服务端攻击面里。团队应升到官方安全版本,检查 OpenNext 或 Workers 适配器,并补上 SSRF 与缓存投毒的集成测试。

34 条

S3 Vectors 加 Aurora 用 SQL 查十亿级向量

Shayon SanyalAWS 数据库博客

AWS 给出一种把十亿级向量放在 Amazon S3 Vectors、再用 Aurora PostgreSQL 的标准 SQL 查询的做法。中间靠 Lambda 做转换层,由 Aurora 的 aws_lambda 扩展调用 S3 Vectors 接口,关系数据留在 Aurora,大规模向量存在 S3,一条 SQL 里就能把向量检索与关系过滤、连接写在一起。官方给的成本对照是每 GB 0.06 美元对 0.10 美元。

PostgreSQL 可选存储引擎实地盘点

Christophe Pettusthebuild.com

Christophe Pettus 盘点了 PostgreSQL 的可选存储引擎,分四类。堆替代品里 OrioleDB 用 undo 日志加写时复制检查点,仍在公开测试、不建议上生产,EDB 的 ZHeap 自 2019 年就停了。列存类有只能追加、压缩三到十倍的 Citus columnar 及其分支 Hydra。湖仓类包括 pg_mooncake、pg_duckdb 与 ParadeDB。他的结论是可选项比宣传材料显示的少得多。

pg_lake 与 Lakebase 是两条不同的路

Christophe Pettusthebuild.com

两个都叫 Postgres 加湖仓,路子完全不同。pg_lake 出自 Snowflake,是一组开源扩展加托管服务:堆表、MVCC 和本地 WAL 照旧,只在旁边接一层湖仓访问,分析查询交给 DuckDB 边车去读 Iceberg 表。Lakebase 是 Databricks 基于 Neon 引擎的托管服务,保留 PostgreSQL 的编程界面,但把存储子系统整个换掉,页面按需从 pageserver 取。

用硬件断点追踪 PostgreSQL 的内部变量

Jan Kristof Nidzwetzkijnidzwetzki.github.io

Jan Kristof Nidzwetzki 演示了用硬件断点而不是 uprobe 追踪 PostgreSQL。做法是让 CPU 监视某个内存地址,被访问时触发 eBPF 程序,不必替换指令,适合盯高频访问的变量。文中的例子是用 bpftrace 的 watchpoint 探针盯住事务 ID 生成用的 nextXid,每次写入就打印进程号和新值。他测得硬件断点约有三成开销、uprobe 约三成八,两者都因 CPU 模式切换而不便宜。

REPACK 的按库快照要么修好要么在 19 回退

Amit Kapilapgsql-hackers 邮件列表

REPACK 并发执行依赖的按数据库划分快照,问题清单又长了一截。Antonin Houska 指出 COMMIT 记录可能出现在比运行事务记录更高的 LSN 上,会破坏清理机制。Amit Kapila 补了几条:按库解码器处理集群级记录时会触发过多 WAL 写入,重排序缓冲区的清理阈值太保守造成内存压力,这项优化还与槽位同步用的故障转移槽冲突。Alvaro Herrera 认为这些不算根本性问题,但必须在 19 里解决,否则回退。

OpenSSL 4.0 支持将进包括 14 在内的所有分支

Daniel Gustafssonpgsql-hackers 邮件列表

给所有分支加 OpenSSL 4.0.0 支持的方案定了下来,包括最老的 REL_14_STABLE。Daniel Gustafsson 的补丁在所有受支持的 OpenSSL 与 LibreSSL 版本上都能无告警编译并通过测试。此前的顾虑是把仍在用旧 OpenSSL 的用户逼着升级,确认 PostgreSQL 14 还剩八月和十一月两个小版本之后,团队同意把 14 也带上。Tom Lane 建议下周发布之后不久动手,留三个月暴露问题。

连接爆炸是实时仪表板变慢的主因

Jake HertzTiger Data 博客

Jake Hertz 讲了实时仪表板在规模上来之后为什么会塌。表超过五亿行时,原本正常的多表连接开始明显变慢,简单查询从 100 毫秒涨到 1.5 秒,原因是规范化模式带来的连接爆炸:数据库要遍历多个 B-tree 索引再把仪表板视图拼起来。他给的解法是把连接成本从读时移到写时,在摄入阶段预先把元数据拍平,文中有建表、批量迁移和触发器的完整写法,并建议用缓冲区命中数衡量效果。

Dirtyfrag 把两个 page cache 缺陷串成本地提权

V4belGitHub

Dirtyfrag 公开了一条链式利用路径,把两个与 Linux page cache 写入相关的问题串起来拿到 root,Cloudflare 同日发布 Copy Fail 的缓解复盘。这类漏洞不是远程 RCE,但在多租户主机、CI runner、开发沙箱、Kubernetes 节点和共享工作站上很危险:有了公开 PoC,发行版补丁又不同步,本地用户提权到 root 的窗口就变得现实。应立刻盘点内核版本、模块加载策略与 CI 隔离。

React 与 Next.js 多个高危漏洞需要升级框架

CloudflareCloudflare 变更日志

Cloudflare 汇总了多条 React 与 Next.js 的高危公告,建议升级到 React 19.0.6、19.1.7 或 19.2.6,以及 Next.js 15.5.16 或 16.2.5。它说明自家托管规则集对部分拒绝服务类问题已有覆盖,但中间件绕过和 SSRF 一类问题不能只靠 WAF 挡住。框架层的漏洞会横跨前端、服务端与边缘部署,不是打个 npm 补丁那么简单。

35 条

Neon 关掉全页写入让写入最多快五倍

David WeinNeon 博客

Neon 关掉了 PostgreSQL 的全页写入,写入密集的负载最多快五倍。全页写入是检查点之后把整页写进 WAL 的持久化手段,用来防住页面撕裂;Neon 自研的存储引擎已经从别处保证了这一点,这道保险就成了冗余,可以安全关掉。直接效果是 WAL 量明显下降、写入吞吐上升,数据完整性不受影响。前提只对自带存储层的服务成立,自建实例不能照搬。

64 位事务 ID 难在 8 字节之外的地方

Christophe Pettusthebuild.com

把事务 ID 从 32 位加宽到 64 位的请求几乎每月都有,Christophe Pettus 解释为什么还没做。障碍有四条:xmin 与 xmax 各加 8 字节,窄行的堆元组膨胀约四分之一;磁盘格式变化让 pg_upgrade 无法硬链接,大集群的分钟级停机会变成数天;云服务的一键升级正是靠 pg_upgrade 的速度;改动还波及快照、SLRU、扩展 ABI 与复制协议。当前的提案走 epoch 路线,页上仍存 32 位。

PostgreSQL 兼容 OpenSSL 4.0.0 的补丁在评审

Daniel Gustafssonpgsql-hackers 邮件列表

Daniel Gustafsson 写了让 PostgreSQL 兼容 OpenSSL 4.0.0 的补丁,消掉 libpq 与 sslinfo 的编译告警,覆盖 1.1.1 到 4.0.0 与 LibreSSL。Cary Huang 测试确认无告警,起初 SSL 测试失败,因为新版把证书吊销的报错从 ssl alert 改成了 tls alert。回迁范围仍有分歧:Tom Lane 主张放到下次发布之后,Michael Paquier 担心逼稳定分支升级。

跨会话访问临时表的缺陷定位到具体提交

Alexander Korotkovpgsql-hackers 邮件列表

跨会话访问临时表的缺陷定位到提交 b7b0f3f27241:某些代码路径绕过了原有的保护检查。Alexander Korotkov 备好两个补丁,0001 是完整测试,0002 是修复。缓冲区管理器本来就无法安全处理别的会话的临时表,只有 DROP TABLE 是显式例外。Jim Jones 指出 14 到 16 的行为并不一致,空临时表可以无报错访问。Tom Lane 要求推迟到本轮发布之后。

Patroni 只解决了高可用的一半

Umair ShahidStormatics 博客

Umair Shahid 说 Patroni 是选主引擎,外面还得配四层才算高可用。最常见的漏洞在路由:应用通过主机名、IP、连接池和驱动访问数据库,Patroni 提升新主库时这些都不会自己更新。另外三处是旧主库回归要靠 use_pg_rewind 之类的自动化、复制槽不监控会让备库漂移并撑爆主库磁盘、连接池缓存和重试逻辑感知不到拓扑变化。他建议在生产负载下做不打招呼的故障演练。

pgEdge 控制平面把周边服务纳入声明式管理

Antony PeggpgEdge 博客

pgEdge 的控制平面新增 Supporting Services,把数据库和周边服务当成一个声明式单元来管。首批三种服务进入 beta:接 AI agent 的 Postgres MCP Server;把数据库当知识库的 RAG Server;以及从模式自动生成 REST 接口的 PostgREST。凭据由控制平面自动下发并限定范围。同时预览 systemd 支持,裸机部署不再必须用 Docker Swarm,先支持 RHEL。

SQLite 被美国国会图书馆列为推荐存储格式

SQLitesqlite.org

SQLite 被美国国会图书馆列入推荐的存储格式清单,HN 上的讨论集中在跨平台、格式稳定和长期归档价值。SQLite 早就不只是嵌入式数据库,它同时是大量应用的事实文件格式;被推荐为保存格式,等于给直接交付 SQLite 文件这种做法背书。做数据导出、分析包、离线产品或长期存档的团队可以把它放到 CSV、JSON 和 parquet 旁边一起评估。

Cloudflare 用负信任锚绕开 .de 的 DNSSEC 故障

CloudflareCloudflare 博客

接着 .de 顶级域的事故,Cloudflare 补上了解析器一侧的处置细节:观察到 .de 的 DNSSEC 签名有问题后,为 1.1.1.1 对 .de 临时挂上负信任锚,让用户在 DENIC 修复期间仍能解析部分域名。一个顶级域的签名错误就能让大量正常站点在做验证的解析器前不可达。依赖 DNSSEC 的团队不该只盯权威 DNS,还要从多个验证解析器的角度监测 SERVFAIL。

Kubernetes v1.36 把 list 与 watch 做成服务端分片

KubernetesKubernetes 博客

Kubernetes v1.36 引入服务端分片的 list 和 watch,把大列表与 watch 流量拆开处理,缓解单次请求或单个 watcher 造成的压力。控制面的扩展瓶颈常来自大量 controller 与客户端对同一批资源做 list 和 watch,服务端分片会改变大集群启动、重连和 informer 同步时的压力模型。升级前要重点测自研 controller 与 informer 的行为。

35 条

Figma 用 Go 自研 PGKeeper 顶替 PgBouncer

Figma EngineeringFigma 博客

Figma 讲了为什么在 Postgres 前面换掉 PgBouncer:单线程带来纵向扩展上限、没有负载优先级、缺少 CoDel 之类的背压、连接抖动时容易压垮数据库。替代品 PGKeeper 用 Go 写成,基于 pgx,对外走 gRPC,部署在 NLB 后面,按优先级准入并用欠债机制照顾高优先级流量,配合自适应 LIFO 队列。单实例峰值超过 45000 QPS,上线后数据库 SLO 保持在 99.99% 以上。项目没有开源。

在线开关数据校验和的收尾补丁已推送

Daniel Gustafssonpgsql-hackers 邮件列表

Daniel Gustafsson 推送了 0001 到 0003 三个补丁,收尾在运行中的集群里切换数据校验和这项功能。这批补丁针对的是 Ayush Tiwari 等人此前报告并复现的缺陷,推送前又做了小幅调整,Ayush 确认 v3 解决了他测试中遇到的问题。前几天暴露的成本限制参数失效、对 unlogged 关系多写 WAL、init fork 在恢复期仍需 WAL 才能保住备库一致,都在这一轮里处理掉了。

pg_control 竞态改成只传一个字段

Alexander Korotkovpgsql-hackers 邮件列表

Alexander Korotkov 给 pg_control 写入的竞态提了个更简单的解法。问题在于后端进程要在挂上共享内存之前读 pg_control。Thomas Munro 此前提议通过 BackendParameters 传一份原型控制文件副本,被指出有用到过期数值的风险。Korotkov 发现挂共享内存之前真正需要的只有 data_checksum_version 一个字段,补丁便只传这个值,也压低了读到陈旧数据的概率。

PostgreSQL 19 把 MultiXact 成员扩到 64 位

Christophe Pettusthebuild.com

PostgreSQL 19 把 MultiXactOffset 从 32 位扩到 64 位,pg_upgrade 时会自动重写 pg_multixact/offsets,生产规模的集群可能要几分钟。这消掉了一类紧急事故:MultiXactId 还有余量、成员空间却先耗尽,报 multixact members limit exceeded,逼着在写入高峰做紧急 vacuum。外键密集的多租户系统受益最大。

用顾问锁替代可序列化隔离来做保留归档

Mark PeacockYugabyte 博客

Yugabyte 的 Mark Peacock 写了一种用 PostgreSQL 顾问锁替代可序列化隔离来防写偏斜的做法,场景是按保留期归档清理数据。传统做法靠分区管理来做保留清理,代价是分区维护的开销;改用顾问锁之后写入性能可预测,清理过程也更好控制。他把这归为数据建模层面的方案:既保住一致性,又不用背分区管理的复杂度,适合保留策略严格、写吞吐又高的应用。

Redis 一次公告五个 CVE 并放出五条补丁版本

RedisRedis 官方博客

Redis 发布安全公告,一次列出 CVE-2026-23479、CVE-2026-25243、CVE-2026-25588、CVE-2026-25589 和 CVE-2026-23631,同日 GitHub 上出现 7.2.14、7.4.9、8.2.6、8.4.3、8.6.3 五条对应发布。Redis 通常压在缓存、会话、队列和限流路径上,补丁拖着不打会放大暴露面。核对范围不能只看生产主集群,镜像基线和测试环境都要过一遍。

.de 顶级域 DNSSEC 中断影响签名域名解析

DENICDENIC 博客

DENIC 通报其 DNS 服务发生中断,带 DNSSEC 签名的 .de 域名可达性受影响,HN 上的讨论积到七百多分,集中在解析链路、DNSSEC 运维复杂度以及要不要临时关掉验证的取舍。顶级域一级的 DNSSEC 事故会跨越单站点、单云和单 ISP,影响面比普通宕机更难隔离。依赖 .de 域名的服务应回头检查外部健康检查是否覆盖 DNSSEC 验证,内部解析器有没有可审计的临时降级策略。

18 条

REPACK CONCURRENTLY 的按库快照可能被回退

Antonin Houskapgsql-hackers 邮件列表

REPACK CONCURRENTLY 用的按数据库划分快照被发现有根本性正确性问题。Antonin Houska 说明,处理运行事务记录时对按库记录提前返回却没调整 xmin,于是 XID 低于 oldestRunningXid 的事务会被当成仍在运行,根子是 COMMIT 记录不保证按创建顺序跟在运行事务记录之后。压力测试因此报唯一索引重复键和除零错误。他可能放弃该特性,Alvaro Herrera 建议回退相关提交。

在线开关校验和又查出两个缺陷

Daniel Gustafssonpgsql-hackers 邮件列表

在线开关校验和的功能又找出两个缺陷。Satyanarayana 发现 pg_enable_data_checksums() 的两个成本限制参数因全局变量没同步而失效,同时对 unlogged 关系做了多余的 WAL 记录。Daniel Gustafsson 确认并备好补丁。Ayush Tiwari 指出 unlogged 关系的 init fork 在恢复期间仍需写 WAL 才能保持备库一致,测试证实这会导致故障转移后校验和验证失败。

CYBERTEC 盘点自己进入 PostgreSQL 19 的工作

Christoph BergCYBERTEC 博客

CYBERTEC 列出了自己进入 PostgreSQL 19 的贡献。分量最重的是 Antonin Houska 的 REPACK CONCURRENTLY,用新建表加逻辑复制再整体替换的方式做在线重组;同出他手的还有 eager aggregation,让规划器把聚合下推到连接之前。Laurenz Albe 修好了 vacuumdb 对分区表的处理,并把 log_lock_waits 默认改成开启。

pg_sorted_heap 0.13.0 带来物理有序堆与向量检索

Sergey KuznetsovGitHub

扩展 pg_sorted_heap 发布 0.13.0。它提供按主键让行物理有序的表访问方法 sorted_heap,并用每页 zone map 裁剪堆块;配套的 sorted_hnsw 是与规划器集成的 HNSW 索引访问方法,面向内置向量类型;svec 与 hsvec 提供 float32 与 float16 向量类型;另有一组面向事实的 GraphRAG 辅助函数。作者是 Sergey Kuznetsov。

只追加的表也一直在为 autovacuum 付费

Matty StrattonTiger Data 博客

Tiger Data 的 Matty Stratton 说明只追加的表为什么也一直被 autovacuum 收费。来源有三处:中止的事务会留下要清理的死元组;首次读取时改写提示位会弄脏页面;插入量大会触发防回绕的冻结。常规调参只是把这些工作挪到别的时间,并没有消掉工作本身。他把这归为 MVCC 存储模型与不需要并发行修改的负载之间的错配,并称 Hypercore 这类专用存储模型可以完全去掉这些条件。

PostgreSQL 的提交者是这样选出来的

Tomas Vondravondra.me

Tomas Vondra 写清了 PostgreSQL 提交者的产生方式。约三十位提交者都参与:二月到三月在提交者私有邮件列表上提名,随后讨论评估,五月中旬定案并联系候选人,最后在 hackers 列表公布。核心组正式发出提交权限,也保留否决权,但很少推翻提交者的意见。看的是多年持续的实质贡献、是否负责维护某块代码、是否评审并帮助其他贡献者、代码质量是否不需要反复返工。落选者会收到反馈。