我已经成功启动了新的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
以前我设法安装PostgreSQL客户端v9.5:
[ec2-user@ip-X-X-X-X ~]$ sudo yum install -y postgresql95
我想我需要添加Postgres yum存储库,如https://www.postgresql.org/download/linux/redhat/中所述。但是我应该为亚马逊Linux选择什么平台?红帽?
设计用于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
为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"
安装PostgreSQL客户端v10
[ec2-user ~]$ sudo yum install -y postgresql10
[ec2-user ~]$ psql --version
psql (PostgreSQL) 10.3
了解更多关于Amazon Linux 2的信息
注意! Amazon Linux 2通过Amazon Linux Extras Repository(amazon-linux-extras
)(仅限客户端)提供额外的软件包安装。由于postgresql10尚未推出,因此添加额外的yum repo是今天唯一的解决方案。
更新2019年5月
那些看到的人
错误:包:pgdg-redhat-repo-42.0-4.noarch(/pgdg-redhat-repo-latest.noarch)
需要:/ etc / redhat-release
仍然可以逐步安装所有依赖项和服务器:
yum install -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-latest-x86_64/postgresql10-libs-10.7-2PGDG.rhel7.x86_64.rpm
yum install -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-latest-x86_64/postgresql10-10.7-2PGDG.rhel7.x86_64.rpm
yum install -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-latest-x86_64/postgresql10-server-10.7-2PGDG.rhel7.x86_64.rpm
sudo amazon-linux-extras安装postgresql10
改编Haneef Mohammed对Amazon Linux 1的回答(在2018.03测试):
转到Postgres repositories page并获取“Red Hat Enterprise Linux 6 - x86_64”的URL。安装PG repos并修改条目,将'$ releasever'替换为'6.9'(或newer?):
[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"
第二部分是相同的:
[ec2-user ~]$ sudo yum install -y postgresql10
[ec2-user ~]$ psql --version
psql (PostgreSQL) 10.3
由于之前的答案都不适用于我,我正在添加一个解决方案,让我安装postgresql10客户端。我们在管道中使用了亚马逊Linux AMI的VERSION="2018.03"
。
从源头构建:
注意:下面的链接指向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
应该在这里安装新软件包及其所有可执行文件:/usr/local/pgsql/bin
现在,请记住,命令psql
,pg_dump
等仍然指向旧版本的psql客户端。您可以使用完整的可执行文件路径(/usr/local/pgsql/bin/psql
)运行,也可以在$PATH
开头添加新目录,以便系统首先查找它:
编辑~/.bash_profile
在最后添加:
export PATH="/usr/local/pgsql/bin:$PATH"
然后运行:
source ~/.bash_profile
现在一切都应该准备好了:
[ec2-user@ip-xx-x-x-xxx ~]$ psql --version
psql (PostgreSQL) 10.4
我解决问题的方法是跑步
yum clean all
之前
yum install -y postgresql10
在亚马逊Linux上
对于Amazon Linux 2上的v11,我必须这样做
yum -y install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm
sed -i "s/rhel-\$releasever-\$basearch/rhel-7-x86_64/g" "/etc/yum.repos.d/pgdg-11-centos.repo"
截至2019年5月25日,以下直接RPM安装适用于我在Amazon Linux 1 2018.03(最新的Beanstalk平台版本)上安装PostgreSQL Client 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
Amazon Linux不再提供PGDG repo。所以你可以使用亚马逊回购。
amazon-linux-extras install postgresql10 vim epel -y
或者按照这篇文章
https://installvirtual.com/install-postgresql-10-on-amazon-ec2/
这是我的2019解决方案:
做就是了
sudo amazon-linux-extras install postgresql9.6
您不必从任何外部源下载它,因为它已经默认从亚马逊提供给您,您所要做的就是安装它。
其他解决方案对我没有用,我花了很多时间撞墙,试图找出原因。
令人惊讶的是,即使您安装了psql9.6,也可以获得版本10。