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?
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.
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
Sudo Amazon-linux-extras installe postgresql10
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
J'ai résolu le problème en exécutant
yum clean all
avant
yum install -y postgresql10
sur Amazon Linux
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"