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

时间:2019-09-17 08:54:48

标签: postgresql amazon-web-services yum

我想基于Amazon Linux AMI 2映像在EC2实例上安装PostgreSQL 11。在帖子,SO问题和finding the latest Postgresl yum repository之后,我尝试了:

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

我被困住了..是否有解决此问题的干净方法?

5 个答案:

答案 0 :(得分:7)

我已使用

在Amazon Linux上成功安装了11.5。
sudo amazon-linux-extras install postgresql11

答案 1 :(得分:3)

第1步-安装PostgreSQL 在Amazon EC2上安装PostgreSQL 11 1。添加PGDG存储库

首先,我们需要在Amazon Linux中添加pgdg存储库

这是我针对最新的Amazon Linux 2 ami的特立独行的解决方案:

ec2-user@ip-10-0-10-193.us-west-2.compute.internal:~$ hostnamectl
   Static hostname: ip-10-0-10-193.us-west-2.compute.internal
         Icon name: computer-vm
           Chassis: vm
        Machine ID: ec23eca3540747b9c3648dc0fc80433f
           Boot ID: 4c71467cca1f43a8bcf1ab34d3caa896
    Virtualization: kvm
  Operating System: Amazon Linux 2
       CPE OS Name: cpe:2.3:o:amazon:amazon_linux:2
            Kernel: Linux 4.14.133-113.112.amzn2.x86_64
      Architecture: x86-64
ec2-user@ip-10-0-10-193.us-west-2.compute.internal:~$
sudo su
cd /etc/yum.repos.d
cat > pgdg.repo

然后我将其粘贴到pgdg.repo文件中:

[pgdg11]
name=PostgreSQL 11 $releasever - $basearch
baseurl=https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7.5-x86_64
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-11

2。安装Postgresql 11

yum groupinstall "PostgreSQL Database Server 11 PGDG"

enter image description here 创建新的PostgreSQL数据库集群

usr/pgsql-11/bin/postgresql-11-setup initdb
Initializing database ... OK

3。重新启动postgresql服务

现在执行以下命令以启动并启用PostgreSQL服务。

systemctl enable postgresql-11
systemctl start postgresql-11

您可以通过输入

进入Postgres控制台

su - postgres

psql

PostgreSQL安装完成。如果要通过键入以下命令使用postgreSQL登录postgres帐户

答案 2 :(得分:1)

阿曼

它可能会帮助您:https://stackoverflow.com/a/55883490/7541412

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

  

sudo yum update -y

     

sudo amazon-linux-extras启用postgresql10

将PostgreSQL放入存储库后,现在可以安装:

  

干净的元数据

     

yum install postgresql

谢谢!

答案 3 :(得分:0)

我在使用 Python 3 的 CodeBuild 的 Amazon Linux 2 AMI 上遇到了问题,但 amazon-linux-extras 只使用了 Python 2(我知道,考虑到 Python 2 已经停产,这完全很奇怪)。从 this thread,您可以将 amazon_linux_extras 从 Python 2 site-packages 复制到 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。

答案 4 :(得分:-1)

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

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

出于好奇,为什么不使用PostgreSQL on AWS RDS