CentOS 8 上 PostgreSQL YUM 存储库的 LLVM 问题

由 PostgreSQL PGDG RPM 存储库于 2020-11-13 发布
PostgreSQL 项目

在 Red Hat Enterprise Linux 8 的最新 3 个次要版本中,Red Hat 破坏了 LLVM 与以前次要版本的兼容性(例如,RHEL 8.1 引入了 LLVM 8,RHEL 8.2 引入了 LLVM 9,RHEL 8.3 引入了 LLVM 10)。

这破坏了与先前版本的兼容性,并且还会影响安装了 llvmjit 子包的用户的 PostgreSQL 更新。负面影响是

RHEL:在重新构建软件包之前,用户无法更新到新的 LLVM。这个问题已经通过立即将构建服务器更新到新的次要版本并重新构建受影响的软件包来解决。

CentOS 落后于 RHEL,也受到此破坏的严重影响,从而阻止了 PostgreSQL 的次要更新。这是需要解决的问题。

今天,我们为 CentOS 8 用户发布了一个名为“pgdg-centos8-sysupdates”的新存储库。此存储库引入了来自最新 RHEL 的 LLVM 和 CLANG 软件包(当然,使用我们自己的密钥重新构建和签名),这些软件包满足 llvmjit 的依赖关系。请注意,这是可选的,因为它可能会破坏其他(如果有)依赖于旧版本 LLVM 和 CLANG 的软件包。此功能适用于 PostgreSQL 11 及更高版本。

用户首先需要更新到最新的存储库文件 (dnf -y update pgdg-redhat-repo) 才能从此功能中受益,在编写本文时,该文件为 42.0.15。

以下是启用此存储库的步骤

dnf -qy module disable postgresql llvm-toolset rust-toolset dnf config-manager --set-enabled pgdg-centos8-sysupdates

(禁用 rust-toolset 不是必须的,但是 dnf 否则会抛出警告,因为它依赖于 llvm-toolset 模块)。

完成此操作后,您可以正常更新或安装 llvmjit 软件包。

如果您有任何问题/意见,请发送电子邮件至 pgsql-pkg-yum@lists.postgresql.org,或在 PostgreSQL 社区 RPM 问题跟踪器(需要社区帐户才能访问)中创建一个问题