如何在AWS Amazon Linux AMI 2上安装PostgreSQL 11?

13

我希望在基于Amazon Linux AMI 2的EC2实例上安装PostgreSQL 11。根据一些帖子、SO问题和找到最新的Postgresl yum软件库,我尝试了以下步骤:

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

我遇到了这个错误:

--> Processing Dependency: /etc/redhat-release for package: pgdg-redhat-repo-42.0-4.noarch
--> Finished Dependency Resolution
Error: Package: pgdg-redhat-repo-42.0-4.noarch (/pgdg-centos11-11-2.noarch)
           Requires: /etc/redhat-release

我卡住了.. 有没有一种简洁的方法来解决这个问题?

4个回答

17

Aman,

这个链接可能会对你有所帮助:https://dev59.com/lFMI5IYBdhLWcg3wmMt5#55883490

另外,如果你认为 PostgreSQL v10 可以解决你的问题,可以尝试以下命令:

sudo yum update -y

sudo amazon-linux-extras enable postgresql10

在将 PostgreSQL 添加到存储库之后,现在可以安装:

yum clean metadata

yum install postgresql

谢谢!


1
谢谢,但我需要PostgreSQL 11,因为客户端和服务器(均为11)必须使用相同的版本。我会尝试你指向的帖子。 - scandel
1
谢谢,你指给我的那个 Stack Overflow 的答案对我有用(几乎完全)。 - scandel
很高兴能帮到你。 - Hassan Murtaza
寻找Postgres 12的人可以访问以下链接:https://qiita.com/tmiki/items/00d22edc6a554f61bd04 - chris finne

16

我使用某种方法成功地在亚马逊 Linux 上安装了11.5版本

sudo amazon-linux-extras install postgresql11

1
12.2可用吗? - yologaming
至少到目前为止,只有9.6、10和11。 - giwiro
这个命令总是安装 psql (PostgreSQL) 9.2.24。 - undefined

0

我在使用Python 3的CodeBuild时遇到了Amazon Linux 2 AMI的问题,但是amazon-linux-extras只支持Python 2(考虑到Python 2已经停用,这完全是奇怪的)。从this thread中,您可以将Python 2 site-packages中的amazon_linux_extras复制到Python 3中。

要查找amazon-linux-extras的位置,请使用以下命令:

find -type d -name "amazon_linux_extras"     # note the underscore (_), not dash (-)

查找 Python 3 的 site-packages 目录

find -type d -name "site-packages"

复制到其他地方

cp -r /path/to/amazon_linux_extras /path/to/python3/site-packages

完成这个步骤后,我使用了@Hassan的答案升级到PostgreSQL 11。


-3

您可以通过运行以下命令来安装PostgreSQL:

$ sudo yum install postgresql postgresql-server postgresql-devel postgresql-contrib postgresql-docs

出于好奇,为什么您不使用AWS RDS上的PostgreSQL


1
谢谢您的回答,但是上述命令在Amazon Linux AMI 2支持的repos中不起作用,因为postgresql不在其中。这就是为什么我需要先添加repo的原因。我已经在服务器端使用AWS RDS,但我想在EC2实例上安装客户端,主要是为了管理转储。 - scandel
@scandel 我明白了。尝试按照这个博客的说明操作,看看效果如何。 - Aman B
这已经是我所做的了...只是将仓库更换为更新的一个(但也尝试使用博客文章中的那个,结果出现相同的错误)。 - scandel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接