如何在Amazon Linux AMI中安装Postgresql 11?

12

我该如何在弹性Beanstalk上的Amazon Linux 2018.03上安装Postgresql 11(特别是不是AMZ Linux 2)?

我想要安装一个软件包而不是手动构建二进制文件。如果自动扩展机器启动并且必须构建整个PG二进制文件,那么在t2/t3.micro上需要更长时间。

我正在寻找pg_dump

[编辑] 更加详细地解释为什么构建对我的情况不起作用。

4个回答

33

关键问题是自从9.3版本以来,PGDG不再适用于Amazon Linux的yum,因此必须安装单独的组件。

  # Remove old Postgres
  yum remove -y postgresql postgresql-server

  # Install Postgres 11
  yum install -y https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-6-x86_64/postgresql11-libs-11.4-1PGDG.rhel6.x86_64.rpm
  yum install -y https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-6-x86_64/postgresql11-11.4-1PGDG.rhel6.x86_64.rpm
  yum install -y https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-6-x86_64/postgresql11-server-11.4-1PGDG.rhel6.x86_64.rpm

[编辑] 将上面每个链接中的11.4替换为您需要在https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-6-x86_64/上提供的任何版本。


6
您可以运行以下命令安装PostgreSQL 12工具:sudo yum install -y https://download.postgresql.org/pub/repos/yum/12/redhat/rhel-6-x86_64/postgresql12-12.2-2PGDG.rhel6.x86_64.rpm https://download.postgresql.org/pub/repos/yum/12/redhat/rhel-6-x86_64/postgresql12-libs-12.2-2PGDG.rhel6.x86_64.rpm 该命令将下载并安装PostgreSQL 12及其依赖项。 - johnthuss
这不起作用。 我只得到错误信息“无法打开xyz.rpm”。 - SatheeshJM

16
sudo yum update
sudo amazon-linux-extras install postgresql11

1
这仅适用于具有amazon-linux-extras的AMZ Linux 2。尽管如此,它是ElasticBeanstalk今天的默认操作系统,非常有效。 - nitsujri

5
看起来 Amazon Linux 没有 PostgreSQL 11 预构建的二进制发布版。我解决它的方法是从源代码构建:
wget https://ftp.postgresql.org/pub/source/v11.5/postgresql-11.5.tar.gz
tar zxvf postgresql-11.5.tar.gz
cd postgresql-11.5
./configure --without-readline make make install
默认情况下,它将把 pg_dump 安装到 /usr/local/pgsql/bin/pg_dump。

我想尽可能避免构建它,因为它是一台小型机器(t3.nano),这可能需要时间。 - nitsujri

4
这是一个扩展版的@nitsujri的回答。我无法评论他们的评论,因此我将在此创建新的答案。
安装必备软件:
sudo yum install readline-devel
sudo yum group install "Development Tools"

下载PostgreSQL源代码并安装发行版:

wget https://ftp.postgresql.org/pub/source/v11.5/postgresql-11.5.tar.gz
tar zxvf postgresql-11.5.tar.gz
cd postgresql-11.5
./configure
make
sudo make install

将此行添加到您的~/.bashrc文件中。之后重新登录到EC2实例。

export PATH=/usr/local/pgsql/bin:$PATH

我该如何启动PostgreSQL服务? - manish soni

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接