如何将 postgresql-client 安装到 Amazon EC2 Linux 机器?

bbg*_*ghh 6 postgresql amazon-ec2 amazon-web-services

我正在尝试在 Amazon EC2 Linux 计算机上安装 postgresql 以获取 hive 的元数据。此时,我正在尝试连接 docker 映像之外的 postgresql。在里面,我可以连接 postgresql。

我尝试了这个命令:

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

结果:

Failed to set locale, defaulting to C
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                                                                                                                                                                                                                               | 3.7 kB  00:00:00     
No package postgresql-client available.
Error: Nothing to do
Run Code Online (Sandbox Code Playgroud)

为了确保语言环境,我尝试了这些:

[ec2-user@ip-***-***-*** ~]$ echo "$LANG"
en_US.UTF-8
[ec2-user@ip-***-***-*** ~]$ echo "$LC_CTYPE"
UTF-8
Run Code Online (Sandbox Code Playgroud)

然后,我最后尝试安装 postgresql-client:

[ec2-user@ip-***-***-*** ~]$ sudo amazon-linux-extras install postgresql-client
Topic postgresql-client is not found.
Run Code Online (Sandbox Code Playgroud)

我对这些技术不太熟悉,如果您能提供帮助,我将不胜感激

小智 17

如果您收到错误...

No match for argument: postgresql...

我发现AWS Linux是一个动态变化的操作系统,所以这里是当前的方法+如何检测新的方法来做到这一点......

现行方法(截至 2022 年 10 月 21 日)

(我有机器映像 (AMI):Amazon Linux 2022)

$ sudo yum update 
$ sudo yum install postgresql13
$ psql --version
psql (PostgreSQL) 13.5
Run Code Online (Sandbox Code Playgroud)

面向未来的答案

试试这个...

$ sudo yum update
$ sudo yum search "postgres"
Run Code Online (Sandbox Code Playgroud)

...并在输出中查找如下postgresql13.aarch64 : PostgreSQL client programs。这会告诉您可安装客户端包的当前版本名称 - 在本例中postgresql13。现在您知道要安装哪个软件包并避免:No match for argument: postgresql错误。

太长了;

看来,对于亚马逊现在所说的yum直接使用Linux,而不是这里的旧版本amazon-linux-extras...在Amazon Linux实例上安装软件包。然后您想知道如何知道使用哪个包名称来安装它,这里是:在 Amazon Linux 实例上查找软件包。我使用名称的一小部分作为搜索的“键”:sudo yum search "postgres"通过查看输出,这给了我答案。

目前这适用于我的 Amazon linux 版本:

$ uname -a
Linux ip-0-0-0-0.ec2.internal 5.15.43-20.123.amzn2022.aarch64 #1 SMP Thu May 26 17:03:36 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

这是一个新实例,几乎没有添加任何内容,甚至没有额外的yum档案,YMMV。


Eva*_*tti 9

除了 James 的回答之外,Amazon Linux 软件包的完整列表也发布到相应发行版的发行说明中,您可以在线搜索。

例如:对于 Amazon Linux 2023:

https://docs.aws.amazon.com/linux/al2023/release-notes/all-packages.html

在这里我可以postgresql15直接在网上找到其他包。

所以我的情况这对我来说很有效:sudo yum -y install postgresql15

在此输入图像描述

还有一个与以前的发行版的比较部分,其中将显示新的软件包、删除的软件包和更新的软件包。

在此输入图像描述