2. Installation de PostgreSQL
Toutes les étapes d'installation de PostgreSQL doivent être effectuées sur tous les noeuds PostgreSQL.
Installation de Postgres sur RHEL
Etape 1
Rendez-vous à l'adresse https://www.postgresql.org/download/linux/redhat/ pour localiser et télécharger la dernière version mineure de PostgreSQL 10. Le rpm référencé dans la commande yum suivante doit être modifié en conséquence.
sudo yum install
https://download.postgresql.org/pub/repos/yum/10.x/redhat/rhel-7-
x86_64/pgdg-redhat94-9.4-3.noarch.rpm
sudo yum install postgresql10.x-server postgresql10.x-contrib
Etape 2
Les fichiers de base de données de production sont généralement stockés sur un disque autre qu'un disque de système d'exploitation ou sur un service de fichiers partagés. Dans cet exemple, le dossier /db sera cet emplacement de stockage.
Créez les emplacements de dossier suivants sur chaque noeud PostgreSQL.
* 
L'emplacement de /db/postgres est référencé dans les scripts fournis avec cet exemple. La modification de l'emplacement du dossier nécessite également des mises à jour des scripts.
sudo mkdir /db
sudo mkdir /db/postgres
sudo mkdir /db/thingworx
sudo mkdir /db/install
sudo mkdir /db/bin
sudo chown -R postgres:postgres /db
Créez les trois dossiers d'archivage mentionnés précédemment dans la section Partage de fichiers de cet exemple et assurez-vous que tous les noeuds PostgreSQL peuvent accéder aux données qu'ils contiennent.
/db/node0archive
/db/node1archive
/db/node2archive
Etape 3
Comme indiqué précédemment dans la section Configuration du dossier de base de données, la base de données PostgreSQL se trouvera sous /db/postgres sur chaque noeud PostgreSQL.
Le profil utilisateur postgres doit d'abord être défini sur le nouvel emplacement avant l'initialisation de la base de données.
sudo su postgres
vim ~/.bash_profile
Exemple de ~/.bash_profile
[ -f /etc/profile ] && source /etc/profile
PGDATA=/db/postgres
export PGDATA
PATH=$PATH:/usr/pgsql-10.x/bin
export PATH
# If you want to customize your settings,
# Use the file below. This is not overridden
# by the RPMS.
[ -f /var/lib/pgsql/.pgsql_profile ] && source
/var/lib/pgsql/.pgsql_profile
Après modification, appliquez les modifications :
source ~/.bash_profile
Initialisez la base de données :
/usr/pgsql-10.x/bin/initdb -D /db/postgres
Etape 4
Revenez à l'utilisateur possédant les privilèges sudo et modifiez le paramètre PGDATA dans le service PostgreSQL.
Modifiez le fichier postgresql-10.x.service
sudo vi /usr/lib/systemd/system/postgresql-10.x.service
afin qu'il contienne la nouvelle valeur du paramètre PGDATA.
# Location of database directory
#Environment=PGDATA=/var/lib/pgsql/10.x/data/
Environment=PGDATA=/db/postgres
Ensuite, rechargez, activez et démarrez le service.
sudo systemctl reload
sudo systemctl enable postgresql-10.x.service
sudo systemctl start postgresql-10.x
Etape 5
Vérifiez l'installation d'init :
sudo su postgres
psql
Utilisez la commande show data_directory pour vous assurer que la base de données par défaut est correctement installée.
postgres=# show data_directory;
data_directory
----------------
/db/postgres
(1 row)