web-dev-qa-db-fra.com

Installation de PostgreSQL Client v10 sur AWI AMI Amazon Linux (EC2)

J'ai lancé avec succès une nouvelle instance AWS RDS PostgreSQL v10 et je dois installer le client PostgreSQL v10 sur une instance Amazon Linux EC2.

J'ai essayé de l'installer avec yum, mais il ne trouve pas le paquet pour la v10:

[ec2-user@ip-X-X-X-X ~]$ 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

Auparavant, je réussissais à installer le client PostgreSQL v9.5 avec:

[ec2-user@ip-X-X-X-X ~]$ Sudo yum install -y postgresql95

Je suppose que je dois ajouter le référentiel Postgres yum, comme indiqué dans https://www.postgresql.org/download/linux/redhat/ . Mais quelle plate-forme dois-je choisir pour Amazon Linux? Chapeau rouge?

13
Ismar Slomic

Les packages/dépôts conçus pour fonctionner avec RedHat fonctionneront également sur Amazon Linux. Amazon Linux est une version d'installation minimale de RHEL. Vous pouvez rencontrer des problèmes de compatibilité si vous sélectionnez l'ancienne version d'Amazon Linux (Amazon linux 1) pour les étapes ci-dessous. Sinon, cela devrait fonctionner correctement dans la dernière version d'Amazon Linux 2.

Vérifier la version d'Amazon Linux

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

Installer RHEL 7 Repo yum pour 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"

Installer le client PostgreSQL v10

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

En savoir plus sur Amazon Linux 2

Remarque! Amazon Linux 2 fournit une installation de package supplémentaire via - Référentiel Amazon Linux Extras (Amazon-linux-extras). Postgresql10 n'étant pas encore disponible, l'ajout d'un rapport de support supplémentaire est la seule solution pour aujourd'hui.

30
Haneef Mohammed

Adapter la réponse de Haneef Mohammed à Amazon Linux 1 (testé le 2018.03):

Accédez à la page Postgres repositories et récupérez l'URL de 'Red Hat Enterprise Linux 6 - x86_64'. Installez le référentiel PG et modifiez les entrées en remplaçant «$ releasever» par «6.9» (ou plus récent ?):

[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"

La deuxième partie est la même:

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

Sudo Amazon-linux-extras installe postgresql10

6
johnthuss

Aucune des réponses précédentes n’ayant fonctionné pour moi, j’ajoute une solution qui me permet d’installer le client postgresql10. Nous utilisons VERSION="2018.03" de Amazon Linux AMI dans nos pipelines.

Bâtiment de source:

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

Le nouveau paquet doit être installé avec tous ses exécutables ici: /usr/local/pgsql/bin

N'oubliez pas que les commandes psql, pg_dump etc. pointent toujours sur l'ancienne version du client psql. Vous pouvez exécuter avec les chemins d’exécutables complets (/usr/local/pgsql/bin/psql) ou ajouter le nouveau répertoire au début de votre $PATH afin que le système le recherche en premier:

Éditez ~/.bash_profile en ajoutant ceci à la fin:

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

Puis lancez:

source ~/.bash_profile

Maintenant tout devrait être prêt:

[ec2-user@ip-xx-x-x-xxx ~]$ psql --version
psql (PostgreSQL) 10.4
3
arudzinska

J'ai résolu le problème en exécutant 

yum clean all

avant 

yum install -y postgresql10 

sur Amazon Linux

2
Ryan Weaver

pour v11 sur Amazon Linux 2 je devais faire 

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"
1
user459911