【问题标题】:How to install postgresql-client to Amazon EC2 Linux machine?如何将 postgresql-client 安装到 Amazon EC2 Linux 机器?
【发布时间】:2022-10-22 08:45:56
【问题描述】:

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

我试过这个命令:

[ec2-user@ip-****-***-** ~]$ sudo yum install postgresql-client -y

结果:

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

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

[ec2-user@ip-***-***-*** ~]$ echo "$LANG"
en_US.UTF-8
[ec2-user@ip-***-***-*** ~]$ echo "$LC_CTYPE"
UTF-8

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

[ec2-user@ip-***-***-*** ~]$ sudo amazon-linux-extras install postgresql-client
Topic postgresql-client is not found.

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

【问题讨论】:

  • 您使用的是哪个 AMI?
  • sudo yum install postgresql96。 Amazon linux 和 RHEL 不会将客户端拆分为单独的包。
  • 我的 AMI 是 amzn2-ami-kernel-5.10-hvm-2.0.20220316.0-x86_64-gp2
  • @jordanm,当我写这个命令时,我遇到了同样的错误:( 无法设置语言环境,默认为 C
  • sudo yum install postgresql 应该安装最新的 amzn2 支持的 psql 客户端。

标签: postgresql amazon-web-services amazon-ec2


【解决方案1】:

安装postgresql

sudo yum install postgresql

正如@Anon Coward 在 cmets 中提到的,这个包包含postgresql 客户端.检查它

yum search postgresql

【讨论】:

    【解决方案2】:

    如果您收到错误...

    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
    

    未来证明答案

    尝试这个第一的...

    $ sudo yum update
    $ sudo yum search "postgres"
    

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

    TLDR;

    看来,对于 Linux,亚马逊现在说直接使用 yum 而不是这里的旧 amazon-linux-extras ...Install software packages on an Amazon Linux instance。然后你想知道,如何知道使用哪个包名来安装它,这里是:Find software packages on an Amazon Linux instance。我使用名称的一小部分作为“键”来搜索: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
    

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

    【讨论】:

      猜你喜欢
      • 2018-09-09
      • 2022-05-25
      • 2018-04-22
      • 2011-06-20
      • 2016-08-21
      • 2019-12-08
      • 2023-03-13
      • 2018-05-06
      • 2017-09-22
      相关资源
      最近更新 更多