在Amazon Linux 2上安装PostgreSQL 11
简而言之
我创建了一个基于 Amazon Linux 2 的 AWS EC2 实例,并尝试安装 PostgreSQL11 的客户端。由于遇到了一些问题,因此我将记录下解决的步骤。
执行环境
亚马逊 Linux 发布 2 (Karoo)
步骤
安装步骤
$ sudo rpm -ivh --nodeps https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/ここに取得したいRPMを入れて
請從以下連結確認所需版本的RPM,並更改上述指令末段以執行。
https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/
例如,若要取得PostgreSQL 11.2版本,則需將以下RPM替換為postgresql11-11.2-2PGDG.rhel7.x86_64.rpm。
执行上述命令后,请确认PostgreSQL的存储库设置。
一部を確認したいだけなのでpgdg11部分のみ抜粋
[pgdg11]
name=PostgreSQL 11 $releasever - $basearch
baseurl=https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-$releasever-$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
在存储库文件中,存在变量$releasever和$basearch,在AmazonLinux 2中,$releaserver的值为system-release的版本号,而$basearch则表示架构。
确认过,system-release的版本为”release 2″,所以$releaserver的值为”2″。
而$basearch的值表示架构,为”x86_64″。
$ cat /etc/system-release
Amazon Linux release 2 (Karoo)
$ arch
x86_64
换句话说,在这种情况下,存储库中所列的baseurl是”https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-2-x86_64″,但这样的路径不存在,因此会返回404错误。由于AmazonLinux2是基于redhat7的,所以我希望使用”https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64″。为了实现这一点,可以使用以下命令进行批量替换。
sudo sed -i "s/\$releasever/7/g" "/etc/yum.repos.d/pgdg-redhat-all.repo"
只需要进行安装即可。只需安装所需的内容,但这里的例子仅限安装客户端。
$ sudo yum install -y postgresql11
以上! !)
以上! !)
(2022/10/25) 补充记录
我在Amazon Linux 2上安装了PostgreSQL 13。
按照指示进行,基本上没有问题,但在我的环境中找不到以下文件,所以我创建了它:
/etc/yum.repos.d/pgdg-redhat-all.repo
此外,我还找不到GPGkey文件,所以我从以下位置获取了它,并将其替换为pgdg-redhat-all.repo中的gpgkey并命名为相同的文件名,这样就成功了。
获得文件:RPM-GPG-KEY-PGDG-13
https://apt.postgresql.org/pub/repos/yum/