在 CentOS-8 中安装 postgresql-12 没有匹配参数:postgresql12

在 CentOS-8 中安装 postgresql-12 没有匹配参数:postgresql12

我正在尝试在 CentOS-8 中安装 postgresql-12 我根据postgresql.org网站 添加了 postgresql 存储库https://www.postgresql.org/download/linux/redhat/

dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

所以现在我添加了存储库

[root@centos8cmd ~]# dnf repolist
Last metadata expiration check: 0:08:03 ago on Tue 08 Oct 2019 03:29:54 AM GMT.
repo id                                                          repo name                                                                                             status
AppStream                                                        CentOS-8 - AppStream                                                                                  4,928
BaseOS                                                           CentOS-8 - Base                                                                                       2,713
*epel                                                            Extra Packages for Enterprise Linux 8 - x86_64                                                        1,816
extras                                                           CentOS-8 - Extras                                                                                         3
pgdg10                                                           PostgreSQL 10 for RHEL/CentOS 8 - x86_64                                                                509
pgdg11                                                           PostgreSQL 11 for RHEL/CentOS 8 - x86_64                                                                531
pgdg12                                                           PostgreSQL 12 for RHEL/CentOS 8 - x86_64                                                                382
pgdg94                                                           PostgreSQL 9.4 for RHEL/CentOS 8 - x86_64                                                               188
pgdg95                                                           PostgreSQL 9.5 for RHEL/CentOS 8 - x86_64                                                               327
pgdg96                                                           PostgreSQL 9.6 for RHEL/CentOS 8 - x86_64                                                               487
[root@centos8cmd ~]#

但是当我尝试启动命令时

dnf install postgresql12
dnf install postgresql12-server

我收到以下消息!

No match for argument: postgresql12
Error: Unable to find a match

答案1

替代且更舒适的解决方案:添加到 pgdg 存储库定义或禁用 AppStream 模块 如果您使用 pgdg build ( ),module_hotfixes=true您可能永远不想使用。 据我了解,这是必要的,因为 EL8 引入了新的模块系统。 如果 dnf 检测到 pgdg 包提供的内容也在模块中但本身未打包为适当的模块,则默认情况下会过滤 pgdg 包。 dnf -y module disable postgresql

我不知道如何在 yum 存储库中定义模块,但如果 pgdg 会这样做,那么没有它可能是可能的,甚至更好地能够像其他 AppStream 模块一样将它们处理为模块(至少与模块版本类似)不适用于并行安装,仅用于选择主要版本)。或者,如果他们更改包签名(我认为这与提供 postgresql 有关),则默认情况下过滤器不会过滤它们。

答案2

您需要禁用postgresqlAppStream 中的流模块,解锁 pgdg 存储库中的 postgres 包:

dnf module disable postgresql

有关详细信息,请参阅CentOS 8 和 RHEL 8 上的 PostgreSQL

答案3

尝试 :

sudo dnf --repo pgdg12 install  postgresql12-server.x86_64
sudo dnf --repo pgdg12 list

如果没有--repo pgdg12,这对我不起作用。

仍在寻找这种行为的原因......

相关内容