数据库 频道

开发人员因担心未解决的bug问题决定移除PostgreSQL 19中的图查询功能

  PostgreSQL 开发人员已将计划中的图查询支持从 19 版本中移除,原因是担心未解决的 bug 可能会影响该版本的发布。

  该功能——SQL 属性图查询(SQL/PGQ)——已于 2023 年成为 SQL 标准的一部分。它提供了一种语法,用于探索由边连接的节点之间的关系。由于存在未解决的问题,PostgreSQL 的该功能实现已被移除,而 19 版的发布日期仍未确定。第四个测试版计划于 9 月 24 日发布。

  PostgreSQL 的长期贡献者 Tom Lane 警告道: “就目前情况来看,我敢打赌,如果我们在 v19 中发布该功能,发布后肯定会发现一些无法修复的 bug,这些 bug 直到 v20 才会得到解决。”

  PostgreSQL 支持与开发公司 EDB 的软件工程高级副总裁 Tom Kincaid 证实,PGQ 将不会包含在 PostgreSQL 19 中。“社区希望在发布前再解决一些问题,”他表示。

  不过,数据库管理员仍有值得期待的地方:无需在整个过程中将所有用户锁定在表外,即可回收磁盘空间。

  VACUUM FULL 会重写表以回收被过行版本占用的空间,并将该空间归还给操作系统。在此过程中,它会持有表的独占锁,阻塞其他读写操作。Kincaid告诉The Register,由此造成的中断使得管理员不愿运行该操作。

  “深夜接到电话,往往是因为有人执行了 VACUUM FULL,导致客户无法访问数据,或者有人想知道为什么这个操作还在运行,”他说。

  新的 REPACK 命令提供了一个 CONCURRENTLY 选项,允许其他事务在操作的大部分时间内访问该表。在将重写的表和索引文件替换到位时,它仍然需要一个独占锁,但该锁通常只保持很短的时间。

  普通的 REPACK 命令在整个过程中都会持有独占锁。对于希望避免再次接到午夜电话的管理员来说,CONCURRENTLY 选项至关重要。

      原文链接:https://www.theregister.com/databases/2026/09/15/postgresql-19-graph-queries-fail-the-would-you-ship-this-test/5296343

0
相关文章