背景
我计划在 RHEL 9.4 上设置 PostgreSQL/PostGIS 服务器,作为从旧版本 RHEL 迁移工作的一部分,并从稳定性的角度比较升级路径。
如果我理解正确的话,有两种方法可以在 RHEL9 上安装 PostgreSQL 和 PostGIS:
选项 1:使用 PostgreSQL 存储库
从官方 PostgreSQL 存储库( )安装 PostgreSQL ( postgresqlNN-server
) 和 PostGIS ( ) 。postgisNN_MM
pgdgNN
此选项遵循PostgreSQL和PostGIS的维护周期。
选项 2:使用 RHEL9 和 EPEL 存储库
postgresql
从 Red Hat Application Streams安装 PostgreSQL ( ) 并postgis
从 EPEL 安装 PostGIS ( )。
Red Hat提供了多个版本的PostgreSQL:
- PostgreSQL 13:通过RHEL 9 Full Life Application Streams频道交付并支持到 RHEL9 的 EOL(2032-05)。
- PostgreSQL 15、16:通过RHEL 9 Application Streams交付,生命周期较短,分别于 2028-05 和 2029-05 达到 EOL。
对于 PostGIS,由于该项目的社区驱动性质,EPEL 会尽最大努力提供升级。也就是说,EPEL 维护人员会努力维护软件包直到 RHEL EOL。
来自EPEL 常见问题解答:
EPEL 软件包多久更新一次?
理想情况下,只要支持相应的 RHEL 版本,EPEL 软件包就会得到维护。但是,EPEL 是一项志愿者工作,软件包维护者可以随时停用其 EPEL 分支。
问题
我正在考虑使用 EPEL PostGIS,因为它可以补充 Red Hat 提供的 PostgreSQL,后者具有较长的生命周期(PostgreSQL 13 支持到 2032 年)。但是,我担心 EPEL 软件包与 Red Hat 提供的软件的长期兼容性,尤其是在上游版本(例如 PostgreSQL 或 PostGIS)达到 EOL 之后。
在我看来,上游 PostgreSQL 将在 2025-11 年达到 EOL,查看PostgreSQL-PostGIS 兼容性图表并推断趋势,我预计 PostGIS 将在即将发布的版本中放弃对 PostgreSQL 13 的支持。
在这种情况下,EPEL 软件包(例如 PostGIS)通常如何维护,尤其是与 Red Hat 提供的生命周期更长的软件结合使用时?
具体来说:
- EPEL 版本的 PostGIS 是否会继续接收更新以保持与 PostgreSQL 13 兼容直到 RHEL9 的 EOL?
- 在这种情况下,EPEL 软件包是否有先例或标准做法从上游版本反向移植更改?
一句话,不行。EPEL 是志愿者工作。无法保证某个主要版本一定会被打包,尤其是在上游发生变更的整个期间。
这是典型的上游或下游选择。您的下游发行版 RHEL + EPEL 拥有您现在想要的东西,根据他们的偏好构建。然而,即使有有用的上游终止生命周期政策,当前版本的 PostGIS 也会在 RHEL 之前终止生命周期。
考虑以更快的速度升级 RHEL 和 PostgreSQL。在发布后尽快升级到 RHEL 10。提醒 EPEL 维护人员使用 PostGIS 的 el10 版本。在完成此额外版本升级后,您将获得更新,并可在一段时间内享受所有软件的支持。
我没有看到 EPEL postgis 软件包中存在维护非上游补丁或容纳多个 PostgreSQL 版本的证据。这两者都需要大量工作,以至于您可能需要作为 EPEL 维护者参与其中才能实现这一点。
或者,您有其他上游软件包选项。您选择的 PostgreSQL 版本(包括当前版本)的优势。但是,第三方软件存储库是值得信任和遵循的不同软件来源,并且并不总是遵循 Fedora 关于如何运作的惯例。虽然 PostgreSQL 是一个成熟的社区,而且这当然可以奏效,但现在您依赖上游社区来提供支持,而不是 Red Hat。