PostgreSQL 技术日报 (3月25日)|升级不再“失忆”?PG18 带来两个关键改变

🔔 关注【IvorySQL开源数据库社区】公众号即可获取 PostgreSQL 一手干货与最新动态
pg每日新闻封面.png

⚙️ PostgreSQL技术文章

🧩 PG18 升级时保留查询规划器统计信息——甚至来自 PG14

1.png

PostgreSQL 18 引入了在主要版本升级期间保留规划器统计信息的功能,消除了以往升级后出现的性能悬崖问题,避免了查询变慢和超时。这个功能甚至在从 PG14、15、16 或 17 等旧版本升级到 PG18 时也有效。实现机制是使用 PG18 的 pg_dump 配合 --statistics-only 选项从旧集群的目录视图中提取统计信息,然后通过新的恢复函数导入到新集群。测试证实 PG18 的 pg_dump 能够成功从 PG16 服务器提取统计信息,保留表级统计信息如 reltuples 以及来自 pg_stats 的列级统计信息。不过,通过 CREATE STATISTICS 创建的扩展统计信息无法保留,需要重新分析。这项改进解决了一个长期存在的问题:主要版本升级会重置规划器统计信息,迫使管理员在达到最佳查询性能之前对可能巨大的数据集运行 ANALYZE。

https://postgres.ai/blog/20260324-pg18-stats-upgrade-across-versions

🧩 PostgreSQL 18 中的 OAuth 2.0 支持

2.png

PostgreSQL 18 引入了 OAuth 2.0 认证支持,允许用户和应用程序使用来自 Google 或 Auth0 等身份提供商的令牌进行连接,而不是传统密码。这需要在构建服务器时使用 --with-libcurl 选项,并使用兼容的客户端如 psql v18+。配置需要在 pg_hba.conf 中设置 OAuth 方法参数,包括签发者 URL 和作用域,以及可选的验证器和映射设置。用户可以通过 psql 连接,既可以通过基于 Web 的认证提示,也可以使用现有令牌。此功能增强了企业环境的身份管理集中化,消除了静态数据库密码的风险。

https://www.cybertec-postgresql.com/en/oauth-2-0-in-postgresql-18/

📨 PostgreSQL Hacker 电子邮件讨论精选

🧩 关于 REPACK [concurrently] 的讨论

讨论围绕PostgreSQL的REPACK功能开发展开,主要解决一个bug:REPACK会尝试访问其他会话的临时表,造成不必要的阻塞。Jim Jones在审查补丁时发现了这个问题,并注意到PostgreSQL 18中的VACUUM FULL和CLUSTER命令也存在相同问题。Antonin Houska同意该bug确实存在,但建议将其作为独立的bug修复处理,而不是纳入新的REPACK功能中。Jim计划在补丁中包含VACUUM FULL的修复,并为此问题开启新的讨论线程。与此同时,Alvaro Herrera发布了REPACK补丁的第44版,整合了Mihail Nikalayeu审查意见的修复。此次更新包括函数重命名、崩溃bug修复以及多个提交的改进,计划在未来版本中将cluster.c重命名为repack.c。

https://www.postgresql.org/message-id/13637.1774342137@localhost

🧩 将 jit 的默认值改为关闭

PostgreSQL 社区正在讨论将 PostgreSQL 19 中 JIT 的默认设置从开启改为关闭。社区对提交此更改已基本达成共识,Tomas Vondra 计划在几天内完成实施。讨论主要围绕 JIT 的性能问题,特别是在分区表场景下编译成本会严重影响查询性能。Jelte Fennema-Nio 提供的测试数据显示,对于涉及多个分区但每个分区行数较少的查询,JIT 在 -O2 下可能慢 54 倍,在 -O0 下也会慢 3 倍。Pierre Ducroquet 提出了替代方案,建议默认关闭 jit_tuple_deforming 而不是完全关闭 JIT。但 Andres Freund 对此表示怀疑,认为这无法解决核心问题,因为表达式编译由于在各个分区中实例化而占用了主要成本。团队一致认为应该尽早而非在 beta 阶段中期进行此更改,以便及时收集用户反馈。

https://www.postgresql.org/message-id/DHB33P41EIY3.MMPHLKV4OAHP@jeltef.nl

🧩 索引预取的优化策略

Peter Geoghegan 和 Andres Freund 继续对索引预取补丁集进行详细审查。Peter 计划在几天内提交第一个补丁以及可能的哈希索引假 LSN 补丁,然后发布第 17 版。主要讨论包括:代码组织重构(为新的索引获取代码创建 heapam_iscan.c)、改进扫描方向变化的测试覆盖率、优化批次缓存的内存管理,以及解决何时做出预取决策的架构问题。Andres 建议规划器最终应该处理预取决策而不是在执行时处理,并强调需要更新成本模型,因为预取将使索引扫描相比位图扫描更具竞争力。两人都认为庞大的补丁 0003 需要拆分以便更好地审查。

https://www.postgresql.org/message-id/jx7xsohhk3utl2tdvme4knj4ar6u5ujcgzrermfpqx3aahb2wr@hex6tuakcwyl

🧩 SQL/PGQ 属性图查询

Henson Choi 报告了 SQL Property Graph Queries 模式测试成功,确认没有崩溃且结果正确。他发现了 generate_queries_for_path_pattern() 中 Assert 语句的一个 bug,其中 prev_gep 在循环中从未更新,使断言总是成立。他还调查了完整边缘左右模式的语法问题,发现词法分析器将 "]->" 标记为分离的 token,并提议添加语法规则来支持缺失的形式如 "<- ->"。Ashutosh Bapat 确认了 Assert bug 并将其移除,指出它没有如预期那样正确检查隐式元素模式的无限链。Hannu Krosing 在尝试 DuckDB 示例时遇到错误,没有显式主键的边表会失败。讨论澄清了 SQL/PGQ 要求每个元素都有键,要么显式定义要么通过主键,并可回退到标准中的"首选候选键"——这是 PostgreSQL 版本中尚未实现的功能。

https://www.postgresql.org/message-id/CAAAe_zCg4xpB7Giu_KjLaa39LKF=cVm58tBveezLxpLLVC8=rw@mail.gmail.com

🧩 如何用 rdtsc 降低 EXPLAIN ANALYZE 的性能开销?

讨论围绕优化使用 RDTSC(CPU 时间戳计数器)来降低 EXPLAIN ANALYZE 计时开销的补丁集。最新改进包括 TSC 校准增强,向 EXEC_BACKEND 的子进程传递 TSC 频率,使 TSC 校准在 Windows 上可用。补丁重构了 tsc_frequency_khz,使用 -1 作为未初始化 TSC 的哨兵值,0 表示已初始化但不可用的 TSC。代码审查反馈涉及可读性问题,John Naylor 建议使用 "#define EAX 0" 等宏定义替代基于结构体的 CPUID 寄存器访问方法。Lukas Fittl 同意采用宏定义方式并处理了与 MSVC 兼容性相关的符号性问题。最新的 v13 补丁采纳了这些反馈,John 计划在将变量名从 "r" 改为 "reg" 这一小调整后推送第一个补丁。

https://www.postgresql.org/message-id/CAP53Pkzom4D8qT_CSNaJggV4avR1=FN6dFuiSRB5BZuYts7e=A@mail.gmail.com

🗞️ 行业新闻

🧩 Doss 融资5500万美元开发AI库存管理方案,可集成ERP系统

3.png

Doss在B轮融资中筹集了5500万美元,用于开发与现有ERP系统无缝集成的AI驱动库存管理系统。本轮融资由Madrona和Premji Invest共同领投。该公司的解决方案解决了企业在无需大规模系统改造情况下优化库存管理的关键需求。通过直接插入现有ERP基础设施,Doss使组织能够利用人工智能进行更好的库存预测、需求规划和供应链优化,同时保持现有运营框架。随着企业越来越多地寻求AI驱动解决方案来提升运营效率,这笔资金将有助于加速产品开发和市场扩张。

https://techcrunch.com/2026/03/24/doss-raises-55m-for-ai-inventory-management-that-plugs-into-erp/?utm_campaign=daily_pm

🧩 Databricks 收购两家初创公司支撑新AI安全产品

4.png

Databricks收购了两家初创公司Antimatter和SiftD.ai,以强化其新的AI安全产品。在获得50亿美元巨额融资后,这家数据分析公司正在积极寻求收购并物色更多目标。收购Antimatter和SiftD.ai将帮助Databricks增强AI安全能力,应对保护人工智能系统和数据方面日益增长的关切。凭借近期融资带来的充足资金,Databricks正通过战略收购快速扩张,同时构建全面的AI工作负载安全解决方案。这一举措反映了随着企业扩大人工智能应用,AI部署中安全性的重要性日益凸显。

https://techcrunch.com/2026/03/24/databricks-buys-two-startups-lakewatch-antimatter-siftd-ai-security?utm_campaign=daily_pm

🧩 Anthropic 放宽 Claude Code 权限管控,但谨慎设限

5.png

Anthropic为Claude Code推出了新的自动模式,允许AI在减少用户批准的情况下执行任务,这标志着向更自主AI工具的重大转变。此次更新使Claude Code能够更独立地执行编程任务,同时保持重要的安全防护机制以防止潜在问题。这一发展反映了行业在提高AI自主性与强化安全措施之间寻求平衡的广泛趋势。新的自动模式不再需要持续的用户干预,而是在简化工作流程的同时集成了监控和控制AI行为的内置安全保障。这种方法展现了Anthropic在推进AI能力的同时,优先考虑自主AI系统负责任部署和用户安全的承诺。

https://techcrunch.com/2026/03/24/anthropic-hands-claude-code-more-control-but-keeps-it-on-a-leash/?utm_campaign=daily_pm

🌐 社交媒体动态

🧩 想要快速学习AI?

本文探讨了如何通过Postgres和RAG(检索增强生成)快速入门AI技术。重点介绍了pgEdge的RAG方案,该方案能够帮助开发者更高效地构建和迭代AI应用。文章指出,将Postgres与RAG相结合是开发者将AI能力融入项目的实用起点。

https://www.linkedin.com/posts/pgedge_learning-ai-fast-with-pgedges-rag-activity-7442217208249778177-Eq2b

🧩 寻找新的挑战?

一家公司正在积极寻找充满热情且积极进取的人才加入他们的团队。这是一个PostgreSQL领域的职业机会,重点强调寻找想要有所作为的候选人。有兴趣的申请者请立即申请。

https://www.linkedin.com/posts/cybertec-postgresql_postgres-postgresql-careeropportunity-activity-7439634900741267456-PxGi

🧩 今晚来KubeCrawl和CloudNativeFest吗?

6.jpeg

pgEdge团队邀请与会者今晚前往KubeCrawl和CloudNativeFest的1263号展位,时间为17:30至19:00。现场提供饮品,并展示pgEdge Enterprise Postgres for Kubernetes的现场演示。与会者可与Postgres专家交流,了解Kubernetes上的Postgres解决方案,活动面向对Postgr…

https://www.linkedin.com/posts/pgedge_kubecrawl-postgres-postgresql-activity-7442208436949368832-jbQ8

🧩 KubeCon+CloudNativeConEurope大会首日开启

7.jpeg

KubeCon + CloudNativeCon Europe 大会首日已拉开帷幕。pgEdge 在 1263 号展位展示其 Enterprise Postgres for Kubernetes 解决方案。访客可与技术专家现场交流,观看产品演示,并有机会赢取 RTX 5060 Ti 16GB 显卡。本次大会汇聚了阿姆斯特丹的云原生社区开发者。

https://www.linkedin.com/posts/pgedge_kubecon-cloudnativecon-postgres-activity-7442087832074092544-yjrT

🔥 HOW 2026 报名进行中

一场真正以技术为核心的 PostgreSQL 大会
HOW 2026 PostgreSQL & IvorySQL 技术峰会火热报名中
📍 2026 年 4 月 27 日 - 28 日|济南
早鸟优惠限时开放,扫码即刻锁定席位

报名二维码.png

posted @ 2026-03-26 10:46  IvorySQL  阅读(6)  评论(0)    收藏  举报