Установка PostgreSQL Client v10 на AWS Amazon Linux (EC2) AMI

Я успешно запустил новый экземпляр AWS RDS PostgreSQL v10 и вам нужно установить клиент PostgreSQL v10 на экземпляр Amazon Linux EC2.

Я попытался установить его с помощью yum, но он не смог найти пакет для v10:

[[email protected] ~]$ sudo yum install -y postgresql10
Loaded plugins: priorities, update-motd, upgrade-helper
amzn-main      | 2.1 kB  00:00:00
amzn-updates  | 2.5 kB  00:00:00
No package postgresql110 available.
Error: Nothing to do

Раньше мне удалось установить PostgreSQL клиент v9.5 с:

[[email protected] ~]$ sudo yum install -y postgresql95

Думаю, мне нужно добавить репозиторий Postgres yum, как указано в https://www.postgresql.org/download/linux/redhat/. Но какую платформу я должен выбрать для Amazon Linux? Красная шляпа?

Ответы

Ответ 1

Пакеты/репозитории, предназначенные для работы с RedHat, будут работать и на Amazon Linux, Amazon Linux - это версия RHEL с минимальной установкой. Вы можете столкнуться с проблемами совместимости, если вы выберете старую версию Amazon Linux (Amazon linux 1) для следующих шагов, в противном случае она должна нормально работать в последней версии Amazon Linux 2.

Проверьте версию Amazon Linux

[ec2-user ~]$ cat /etc/system-release
Amazon Linux release 2.0 (2017.12) LTS Release Candidate

Установите RHEL 7 yum репо для PostgreSQL

[ec2-user ~]$ sudo yum install -y  https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat10-10-2.noarch.rpm

[ec2-user ~]$ sudo sed -i "s/rhel-\$releasever-\$basearch/rhel-latest-x86_64/g" "/etc/yum.repos.d/pgdg-10-redhat.repo"

Установите PostgreSQL Client v10

[ec2-user ~]$ sudo yum install -y postgresql10
[ec2-user ~]$ psql --version
psql (PostgreSQL) 10.3

Узнайте больше о Amazon Linux 2

Заметка! Amazon Linux 2 обеспечивает установку дополнительных пакетов через Amazon Linux Extras Repository (amazon-linux-extras) ((только клиент)). Поскольку postgresql10 еще не доступен, добавление дополнительного репозитория yum является единственным решением на сегодняшний день.

UDATE 2019 мая

те, кто видит

Ошибка: Пакет: pgdg-redhat-repo-42.0-4.noarch(/pgdg-redhat-repo-latest.noarch)

Требуется: /etc/redhat-release

может все равно установить пошагово все зависимости и сервер с:

yum install -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-latest-x86_64/postgresql10-libs-10.7-2PGDG.rhel7.x86_64.rpm
yum install -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-latest-x86_64/postgresql10-10.7-2PGDG.rhel7.x86_64.rpm
yum install -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-latest-x86_64/postgresql10-server-10.7-2PGDG.rhel7.x86_64.rpm

Ответ 2

sudo amazon-linux-extras установить postgresql10

Ответ 3

Адаптация Haneef Mohammed отвечает за Amazon Linux 1 (проверено 2018.03):

Перейдите на страницу репозиториев Postgres и возьмите URL-адрес "Red Hat Enterprise Linux 6 - x86_64". Установите PG-репозиции и измените записи, заменив "$ releasever" на "6.9" (или новее?):

[ec2-user ~]$ sudo yum install -y  https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-6-x86_64/pgdg-redhat10-10-2.noarch.rpm

[ec2-user ~]$ sudo sed -i "s/rhel-\$releasever-\$basearch/rhel-6.9-x86_64/g" "/etc/yum.repos.d/pgdg-10-redhat.repo"

Вторая часть такая же:

[ec2-user ~]$ sudo yum install -y postgresql10
[ec2-user ~]$ psql --version
psql (PostgreSQL) 10.3

Ответ 4

Поскольку ни один из предыдущих ответов не помог мне, я добавляю решение, позволяющее мне установить клиент postgresql10. Мы используем VERSION="2018.03" для Amazon Linux AMI в наших конвейерах.

Здание из источника:

Примечание: ссылка ниже указывает на postgresql 10.4, вы можете проверить наличие новых подрывных версий

sudo yum install -y gcc readline-devel zlib-devel
wget https://ftp.postgresql.org/pub/source/v10.4/postgresql-10.4.tar.gz
tar -xf postgresql-10.4.tar.gz
cd postgresql-10.4
./configure
make -C src/bin
sudo make -C src/bin install
make -C src/include
sudo make -C src/include install
make -C src/interfaces
sudo make -C src/interfaces install
make -C doc
sudo make -C doc install

Новый пакет должен быть установлен со всеми его исполняемыми файлами здесь: /usr/local/pgsql/bin

Теперь имейте в виду, что команды psql, pg_dump и т.д. Все еще указывают на старую версию клиента psql. Вы можете запустить с полными путями к исполняемому файлу (/usr/local/pgsql/bin/psql) или добавить новый каталог в начале вашего $PATH чтобы система сначала проверила его:

Отредактируйте ~/.bash_profile добавив в конце:

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

Затем запустите:

source ~/.bash_profile

Теперь все должно быть готово:

[[email protected] ~]$ psql --version
psql (PostgreSQL) 10.4

Ответ 5

По состоянию на 25 мая 2019 года у меня работала следующая прямая установка RPM на Amazon Linux 1 2018.03 (последняя версия платформы Beanstalk) для установки PostgreSQL Client 10.7:

sudo rpm -ivh --force https://yum.postgresql.org/testing/10/redhat/rhel-6-x86_64/postgresql10-libs-10.7-2PGDG.rhel6.x86_64.rpm
sudo rpm -ivh --force https://yum.postgresql.org/testing/10/redhat/rhel-6-x86_64/postgresql10-10.7-2PGDG.rhel6.x86_64.rpm

Ответ 6

Я решил проблему, запустив

yum clean all

до

yum install -y postgresql10 

на Amazon Linux

Ответ 7

Репозиторий PGDG больше не доступен для Amazon Linux. Таким образом, вы можете использовать Амазонку репо.

amazon-linux-extras install postgresql10 vim epel -y

Или следуйте этой статье

https://installvirtual.com/install-postgresql-10-on-amazon-ec2/

Ответ 8

для v11 на Amazon Linux 2 мне пришлось сделать

yum -y install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm
sed -i "s/rhel-\$releasever-\$basearch/rhel-7-x86_64/g" "/etc/yum.repos.d/pgdg-11-centos.repo"

Ответ 9

Это мое решение 2019 года:

Просто делать

 sudo amazon-linux-extras install postgresql9.6

Вам не нужно загружать его из какого-либо внешнего источника, поскольку он по умолчанию предоставляется вам от Amazon, все, что вам нужно сделать, это установить его.

Другие решения не помогли мне, и я потратил много времени, стуча головой о стену, пытаясь понять, почему.

И что удивительно, даже если вы устанавливаете psql9.6, вы получаете версию 10.

Ответ 10

Установка PSql10.7 (20.08.2009)

Удалите все старые версии Psql-клиента и выполните следующие действия:

wget https://yum.postgresql.org/10/redhat/rhel-6.9-x86_64/postgresql10-libs-10.7-1PGDG.rhel6.x86_64.rpm
wget https://yum.postgresql.org/10/redhat/rhel-6.9-x86_64/postgresql10-10.7-1PGDG.rhel6.x86_64.rpm
sudo rpm -ivh postgresql10-libs-10.7-1PGDG.rhel6.x86_64.rpm
sudo rpm -ivh postgresql10-10.7-1PGDG.rhel6.x86_64.rpm