CentOS 5.5 – Install PostgresSQL 9

FrançaisLinuxTutorials

Paramètres de configuration

Il s’agit ici de paramètres qu’il vous faudra adapter à vos besoins :
Admin postgres : admin / adminPassword
Répertoire de stockage des base de données : /home/postgres/data
Réseau local : 192.168.2.0

Pré-requis
CentOS 5.5 – Base install
CentOS 5.5 – Install réseau
CentOS 5.5 – Le firewall

Installation PostgresSQL 9

Commençons par installer 2 librairies qui nous servirons durant la compilation de Postgres :

yum install -y readline readline-devel

Allons dans le répertoire de téléchargement et récupérons les sources de Postgres :

cd ~
wget -c http://ftp4.fr.postgresql.org/pub/mirrors/postgresql/source/v9.0.0/postgresql-9.0.0.tar.gz

Decompression, préparation de la compilation, compilation et installation dans le répertoire /usr/local/pgsql-9.0.0 :

tar zxvf postgresql-9.0.0.tar.gz
cd ~/postgresql-9.0.0
./configure --prefix=/usr/local/pgsql-9.0.0 --enable-nls='fr' --with-openssl --enable-thread-safety
make
make install

Copions le script de lancement de Postgres dans /etc/rc.d/init.d/ :

cp contrib/start-scripts/linux /etc/rc.d/init.d/pgsql
chmod 744 /etc/rc.d/init.d/pgsql

Un peu de ménage :

cd ~
rm -Rf postgresql-9.0.0

Puis l’on créer l’utilisateur qui exécutera le process Postgres :

groupadd postgres
useradd -g postgres postgres
mkdir /home/postgres/data
chown postgres /home/postgres/data

Création d’un lien symbolique pour simplifier une éventuelle migration + tard :

rm -f /usr/local/pgsql
ln -s /usr/local/pgsql-9.0.0/ /usr/local/pgsql

On se connecte avec l’utilisateur postgres :

su - postgres

Et on initialise la base de données :

/usr/local/pgsql/bin/initdb -D /home/postgres/data -A md5 -W -E UTF-8
Saisissez le nouveau mot de passe du super-utilisateur : adminPassword

On autorise la connexion distante aux bases de données :

cat >> /home/postgres/data/pg_hba.conf << "EOF"

host    all         all    192.168.2.0 255.255.0.0    md5
EOF
&#91;/shell&#93;
On déconnecte l'utilisateur Postgres
&#91;shell&#93;
exit
&#91;/shell&#93;
On édite le fichier de lancement de Postgres :
&#91;shell&#93;
vi /etc/init.d/pgsql
&#91;/shell&#93;
Pour d'une part préciser le répertoire de destination :
&#91;crayon-5d35de6cdc6be789429903/&#93;
Et d'autre part, remplacer les 2 :
&#91;crayon-5d35de6cdc6c8934574995/&#93;
par
&#91;crayon-5d35de6cdc6cd701417223/&#93;
Pour autoriser les connexions distantes (clients SQL)

Ensuite on affecte les droit qui vont bien à tous les répertoires :
&#91;shell&#93;
chmod 700 /etc/init.d/pgsql
/etc/init.d/pgsql stop
/etc/init.d/pgsql start
&#91;/shell&#93;
On indique au serveur qu'il faut lancer postgres au démarrage et l'arrêter lors de l'arrêt 🙂 :
&#91;shell&#93;
/sbin/chkconfig --level 3 pgsql on
/sbin/chkconfig --level 06 pgsql off
&#91;/shell&#93;

Et voilà.

<strong>Le firewall</strong>
N'oublions pas de régler le firewall histoire qu'il autorise les connexions distantes sur notre serveur :
[shell]
iptables -A INPUT -p tcp --dport 5432 -j ACCEPT
/sbin/service iptables save
Previous
CentOS 5.5 – Install Tomcat 6
Next
CentOS 5.5 – Install MySQL 6

Leave a comment

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.