暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

[译]在 AWS Linux 2 上安装 Postgresql14 和contrib扩展包

原创 2022-06-08
3583

原文地址:Install Postgres v14 + -contrib on AWS Linux 2
原文作者:GORTHX

最近,我需要在Amazon Linux 2主机上安装Postgres v14和contrib扩展包。

contrib扩展包需要的依赖是python3.6,但主机上默认情况下安装python3.7版本。你可能会认为删除预安装的版本并安装正确的版本很容易,但它并不是(无论如何对我来说),我最终陷入了安装/卸载的反复中。

关键是要从amazon-linux-extras包中启用python-3的topic,并需要禁用amzn2-core存储库。请遵循分步说明。

出于参考目的,列出遇到的报错:

# sudo yum install postgresql14 postgresql14-contrib

Error: Package: postgresql14-contrib-14.1-1PGDG.rhel7.x86_64 (pgdg14)
           Requires: libpython3.6m.so.1.0()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
复制

查询安装的python版本:

# python3 -V
Python 3.7.10
复制

说明:

1. 启动实例。

2. 安装amazon-linux-extras库(如果尚未安装):

# which amazon-linux-extras
复制

如果没有安装,执行以下命令:

# sudo yum install amazon-linux-extras
复制

3. 从 amazon-linux-extras库中安装epel包:

sudo amazon-linux-extras install epel
复制

4. 获取 Postgres GPG 密钥和所需库的 URL。

访问 https://download.postgresql.org/pub/repos/yum/

a.找到对应的密钥
例如:RPM-GPG-KEY-PGDG-14
复制链接;把它填写到gpkey参数后面(然后做下一步)。
例如:gpkey = https://download.postgresql.org/pub/repos/yum/RPM-GPG-KEY-PGDG-14

b.选择您的版本,然后选择体系结构(您在此处需要RedHat),然后选择对应的操作系统版本
例如:14 ->redhat -> rhel-7-x86_64
复制该链接;把它填写到baseurl参数后面。
例如:baseurl = https://download.postgresql.org/pub/repos/yum/14/redhat/rhel-7-x86_64/
复制

5. 配置pgdg的yum源库(root用户才能执行此操作)。

使用您的首选方法将以下行添加到/etc/yum.repos.d/pgdg.repo文件中(如果要安装其他版本,请进行调整):

[pgdg14]
name=PostgreSQL 14 for RHEL/CentOS7 - x86_64
gpgkey=https://download.postgresql.org/pub/repos/yum/RPM-GPG-KEY-PGDG-14
baseurl=https://download.postgresql.org/pub/repos/yum/14/redhat/rhel-7-x86_64/
enabled=1
gpgcheck=1
复制

6. 验证 Postgres v14 包是否可用。列出您刚刚配置的pgdg14的yum库中可用的包:

使用如下命令进行查看:

yum --disablerepo="*" --enablerepo="pgdg14" 
…
postgresql14.x86_64
postgresql14-contrib.x86_64
postgresql14-devel.x86_64
postgresql14-docs.x86_64
…
复制

7. 删除现有的 python3.7版本,执行如下命令:

sudo yum remove python3
复制

8. 从amazon-linux-extras库安装python3.6:

在安装时,需要禁用amzn2-core库
如果安装时收到此错误,仍然无法安装’-contrib’,说明没有添加此参数 -disablerepo=amzn2-core:
具体命令如下:

sudo amazon-linux-extras enable python3
sudo yum clean metadata
sudo yum install python3-3.6.* --disablerepo=amzn2-core

Package matching python3-3.6.2-3.amzn2.0.3.x86_64 already installed. Checking for update.
Nothing to do
复制

9. 使用 -contrib 安装 Postgres:

sudo yum install postgresql14 postgresql14-contrib
复制

10. 开始初始化数据库,进行配置并启动数据库。

cd /usr/pgsql-14/bin
sudo ./postgresql-14-setup initdb
sudo systemctl start postgresql-14
复制

11. 您现在可以自由地度过您的一天。我会给你留下ServerFault的这句话:

“我不确定这是否有帮助,但我在很大程度上已经放弃了亚马逊Linux,因为它太难让一些事情正常工作了。1 个

感谢杰夫·弗罗斯特帮助我找到自己的路。

1 – https://serverfault.com/questions/1081509/error-getting-the-correct-python3-dependency

最后修改时间:2022-06-08 12:59:45
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

暂无图片
获得了788次点赞
暂无图片
内容获得334次评论
暂无图片
获得了144次收藏
TA的专栏
openGauss
收录20篇内容
目录
  • 说明:
    • 1. 启动实例。
    • 2. 安装amazon-linux-extras库(如果尚未安装):
    • 3. 从 amazon-linux-extras库中安装epel包:
    • 4. 获取 Postgres GPG 密钥和所需库的 URL。
    • 5. 配置pgdg的yum源库(root用户才能执行此操作)。
    • 6. 验证 Postgres v14 包是否可用。列出您刚刚配置的pgdg14的yum库中可用的包:
    • 7. 删除现有的 python3.7版本,执行如下命令:
    • 8. 从amazon-linux-extras库安装python3.6:
    • 9. 使用 -contrib 安装 Postgres:
    • 10. 开始初始化数据库,进行配置并启动数据库。
    • 11. 您现在可以自由地度过您的一天。我会给你留下ServerFault的这句话: