PostgreSQL 10 sur RHEL 7 et distributions dérivées

Une combinaison possible

Pourquoi pas ?

      Déployer PostgreSQL sur Linux est bien sûr naturel mais les distributions Red Hat et dérivées ne sont pas celles que je recommande particulièrement. En dehors de considérations philosophiques, Debian fait un travail d’intégration plus abouti, vous retrouverez par défaut les fichiers de configuration dans /etc, les logs dans /var/log etc.
      Certains utilisateurs vont toutefois privilégier RHEL et dérivées, justement car le travail d’intégration n’est pas aussi complet que sur Debian et donne une plus grande impression de liberté. Pour diverses raisons (compétences internes, choix d'un nom rassurant pour le support etc.), vous serez peut-être de toute façon contraint de déployer sur RHEL (Red Hat Enterprise Linux).
      Vous serez alors incité à ne pas vous contenter du repository officiel de la distribution et à tirer parti de celui mis à disposition par le pgdg (postgresql development group). Si vous vous contentez du repository de Red Hat, vous vous retrouverez en effet avec une version souvent très ancienne de PostgreSQL. Les versions 7.x de RHEL fournissent par exemple par défaut PostgreSQL 9.2, une version qui n'est même plus supportée par la communauté PostgreSQL en 2018. Heureusement, le pgdg fournit des binaires plus récents pour RHEL mais aussi Fedora, Scientific Linux, Centos et Oracle Linux.

En pratique :

      Choisir le repository pgdg en sélectionnant l’adresse depuis cette page en fonction de votre distribution Linux et de la version de PostgreSQL. Je dispose ici de Centos 7 et je souhaite installer PostgreSQL 10. Ne pas oublier de configurer le proxy si le serveur n’a pas un accès direct à internet puis utiliser la commande yum install (vous pourriez aussi télécharger le paquet, le transférer sur le serveur et utiliser une commande "yum localinstall" dans ce cas) :

export http_proxy=http://utilisateur:mot_de_passe@nom_serveur_proxy:port (exemple : export http_proxy=http://phil:yertiel@192.168.56.107:3128) yum install http://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm ... Installé : pgdg-centos10.noarch 0:10-2

      Configurer ensuite de manière pérenne le gestionnaire de paquets avec vos informations de proxy et effectuer une mise à jour :
vi /etc/yum.conf # The proxy server - proxy server:port number proxy=http://nom_serveur_proxy:port # The account details for yum connections proxy_username=utilisateur proxy_password=mot_de_passe yum update ... Terminé !

      Vous pourrez ensuite installer PostgreSQL 10 ainsi que des produits associés. Exemple d’installation de PostgreSQL 10 et des fonctionnalités python en une seule commande :
yum install postgresql10-plpython ... Terminé ! yum list postgres* Modules complémentaires chargés : fastestmirror Loading mirror speeds from cached hostfile * base: ftp.ciril.fr * extras: ftp.ciril.fr * updates: ftp.rezopole.net Paquets installés postgresql10.x86_64 10.1-1PGDG.rhel7 @pgdg10 postgresql10-libs.x86_64 10.1-1PGDG.rhel7 @pgdg10 postgresql10-plpython.x86_64 10.1-1PGDG.rhel7 @pgdg10 postgresql10-server.x86_64 10.1-1PGDG.rhel7 @pgdg10 ...

      Certains binaires mis à disposition par le pgdg peuvent dépendre de binaires mis à disposition via le repository EPEL. Vous pouvez vous référer à leur site pour configurer ce repository si ce n’est déjà fait, la commande "yum repolist" vous permet de le vérifier.
      Après avoir installé PostgreSQL, vous pourrez initialiser un ou plusieurs clusters.

Mise à jour : 03/02/2018