在AWS Amazon Linux(EC2)AMI上安装PostgreSQL Client v10

Ism*_*mic 18 postgresql amazon-ec2 amazon-web-services

我已经成功启动了新的AWS RDS PostgreSQL v10实例,需要在Amazon Linux EC2实例上安装PostgreSQL v10客户端.

我试过安装它yum,但它无法找到v10的包:

[ec2-user@ip-X-X-X-X ~]$ sudo yum install -y postgresql10
Loaded plugins: priorities, update-motd, upgrade-helper
amzn-main      | 2.1 kB  00:00:00
amzn-updates  | 2.5 kB  00:00:00
No package postgresql110 available.
Error: Nothing to do
Run Code Online (Sandbox Code Playgroud)

以前我设法安装PostgreSQL客户端v9.5:

[ec2-user@ip-X-X-X-X ~]$ sudo yum install -y postgresql95
Run Code Online (Sandbox Code Playgroud)

我想我需要添加Postgres yum存储库,如https://www.postgresql.org/download/linux/redhat/中所述.但是我应该为亚马逊Linux选择什么平台?红帽?

Han*_*med 42

设计用于RedHat的Packages/Repos也适用于Amazon Linux,Amazon Linux是RHEL的最小安装版本.如果您为以下步骤选择旧版本的Amazon Linux(Amazon linux 1),则可能会遇到兼容性问题,否则它应该可以在最新版本的Amazon Linux 2中正常运行.

检查Amazon Linux版本

[ec2-user ~]$ cat /etc/system-release
Amazon Linux release 2.0 (2017.12) LTS Release Candidate
Run Code Online (Sandbox Code Playgroud)

为PostgreSQL安装RHEL 7 yum repo

[ec2-user ~]$ sudo yum install -y  https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat10-10-2.noarch.rpm

[ec2-user ~]$ sudo sed -i "s/rhel-\$releasever-\$basearch/rhel-latest-x86_64/g" "/etc/yum.repos.d/pgdg-10-redhat.repo"
Run Code Online (Sandbox Code Playgroud)

安装PostgreSQL客户端v10

[ec2-user ~]$ sudo yum install -y postgresql10
[ec2-user ~]$ psql --version
psql (PostgreSQL) 10.3
Run Code Online (Sandbox Code Playgroud)

阅读有关Amazon Linux 2的更多信息

注意!Amazon Linux 2通过Amazon Linux Extras Repository(amazon-linux-extras)提供额外的软件包安装.由于postgresql10尚未推出,因此添加额外的yum repo是今天唯一的解决方案.

  • 接收`错误:包:postgresql10-10.3-1PGDG.rhel7.x86_64(pgdg10)执行`sudo yum install -y postgresql10时需要:systemd-sysv` (9认同)
  • 似乎amazon-linux-extras安装了一个唯一的客户端,而不是服务器. (2认同)
  • 接收错误:软件包:postgresql10-10.3-1PGDG.rhel7.x86_64(pgdg10)要求:执行yum install -y时使用systemd-sysv -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-最新的x86_64 / postgresql10-10.7-2PGDG.rhel7.x86_64.rpm (2认同)
  • 不适用于“Amazon Linux AMI 版本 2018.03” (2认同)

joh*_*uss 32

sudo amazon-linux-extras安装postgresql10

  • 这似乎仅适用于"亚马逊Linux 2" (5认同)
  • 如果您使用的是 Amazon Linux 2,它应该是首选解决方案。保证支持。 (2认同)
  • 太棒了,这正是我的 amzn2 盒子所需要的。非常感激。 (2认同)

ste*_*r25 11

改编Haneef Mohammed对Amazon Linux 1的回答(在2018.03测试):

转到Postgres 存储库页面并获取"Red Hat Enterprise Linux 6 - x86_64"的URL.安装PG repos并修改条目,将'$ releasever'替换为'6.9'(或更新?):

[ec2-user ~]$ sudo yum install -y  https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-6-x86_64/pgdg-redhat10-10-2.noarch.rpm

[ec2-user ~]$ sudo sed -i "s/rhel-\$releasever-\$basearch/rhel-6.9-x86_64/g" "/etc/yum.repos.d/pgdg-10-redhat.repo"
Run Code Online (Sandbox Code Playgroud)

第二部分是相同的:

[ec2-user ~]$ sudo yum install -y postgresql10
[ec2-user ~]$ psql --version
psql (PostgreSQL) 10.3
Run Code Online (Sandbox Code Playgroud)

  • 错误:软件包:pgdg-redhat-repo-42.0-5.noarch (/pgdg-redhat-repo-latest.noarch) 需要:/etc/redhat-release (2认同)

aru*_*ska 11

由于先前的答案对我都不起作用,因此我添加了一个解决方案,该解决方案使我可以安装postgresql10客户端。我们VERSION="2018.03"在管道中使用Amazon Linux AMI。

从源代码构建:

注意:以下链接指向postgresql 10.4,您可能需要检查较新的版本

sudo yum install -y gcc readline-devel zlib-devel
wget https://ftp.postgresql.org/pub/source/v10.4/postgresql-10.4.tar.gz
tar -xf postgresql-10.4.tar.gz
cd postgresql-10.4
./configure
make -C src/bin
sudo make -C src/bin install
make -C src/include
sudo make -C src/include install
make -C src/interfaces
sudo make -C src/interfaces install
make -C doc
sudo make -C doc install
Run Code Online (Sandbox Code Playgroud)

新软件包及其所有可执行文件都应安装在这里: /usr/local/pgsql/bin

现在,请记住,命令psqlpg_dump等仍指向旧版本psql客户端可以的。您可以使用完整的可执行路径(/usr/local/pgsql/bin/psql)运行,也可以在新目录的开头添加新目录,$PATH以便系统首先查找该目录:

编辑最后~/.bash_profile添加此内容:

export PATH="/usr/local/pgsql/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

然后运行:

source ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

现在一切准备就绪:

[ec2-user@ip-xx-x-x-xxx ~]$ psql --version
psql (PostgreSQL) 10.4
Run Code Online (Sandbox Code Playgroud)


Che*_*oor 7

PGD​​G 存储库不再适用于 Amazon Linux。所以你可以使用亚马逊回购。

amazon-linux-extras install postgresql10 vim epel -y
Run Code Online (Sandbox Code Playgroud)

或者关注这篇文章

https://installvirtual.com/install-postgresql-10-on-amazon-ec2/


Her*_*ond 7

适用于 Amazon Linux 版本 2023 (Amazon Linux) 实例的解决方案

如果您收到如下错误:

  • No match for argument: postgresql10
  • No match for argument: postgresql11
  • No match for argument: postgresql14

在跑步的时候sudo yum install -y postgresql<your_version>

只需使用 .检查存储库中保留的版本即可sudo yum search "postgres"。就我而言,既没有postgresql10也没有postgresql14,但是有postgresql15

所以我调用了sudo yum install postgresql15并且它起作用了。


jmw*_*cks 5

截至2019年5月25日,以下直接RPM安装已在Amazon Linux 1 2018.03(最新Beanstalk平台版本)上为我工作,以安装PostgreSQL客户端10.7:

sudo rpm -ivh --force https://yum.postgresql.org/testing/10/redhat/rhel-6-x86_64/postgresql10-libs-10.7-2PGDG.rhel6.x86_64.rpm
sudo rpm -ivh --force https://yum.postgresql.org/testing/10/redhat/rhel-6-x86_64/postgresql10-10.7-2PGDG.rhel6.x86_64.rpm
Run Code Online (Sandbox Code Playgroud)


小智 5

PSql10.7 安装 (08/20/2019)

删除所有旧版本的 Psql 客户端并执行以下步骤:

wget https://yum.postgresql.org/10/redhat/rhel-6.9-x86_64/postgresql10-libs-10.7-1PGDG.rhel6.x86_64.rpm
wget https://yum.postgresql.org/10/redhat/rhel-6.9-x86_64/postgresql10-10.7-1PGDG.rhel6.x86_64.rpm
sudo rpm -ivh postgresql10-libs-10.7-1PGDG.rhel6.x86_64.rpm
sudo rpm -ivh postgresql10-10.7-1PGDG.rhel6.x86_64.rpm
Run Code Online (Sandbox Code Playgroud)


小智 5

以下适用于 Amazon Linux (v1) 上的 psql v11

wget https://yum.postgresql.org/11/redhat/rhel-6.9-x86_64/postgresql11-libs-11.8-1PGDG.rhel6.x86_64.rpm
wget https://yum.postgresql.org/11/redhat/rhel-6.9-x86_64/postgresql11-11.8-1PGDG.rhel6.x86_64.rpm

sudo yum clean all
sudo rpm -ivh postgresql11-libs-11.8-1PGDG.rhel6.x86_64.rpm
sudo rpm -ivh postgresql11-11.8-1PGDG.rhel6.x86_64.rpm
Run Code Online (Sandbox Code Playgroud)