Installer PostgreSQL sur Debian

décembre 8, 2015 8:47 Publié par Laissez vos commentaires

Bonjour à tous,

Dans ce tutoriel nous allons installer le SGBDR Postgres en version 9.4 sur une distribution linux Debian 8 64bit.

Configuration de base de Debian

Configuration de l’adresse IP statique :

root@mail:~# nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
nano /etc/resolv.conf
name server 192.168.1.1
name server 8.8.8.8

/etc/init.d/networking restart

Si vous voulez utiliser le compte root en ssh, je vous conseille de suivre l’article
Debian – Autoriser le compte root en ssh

Installation de Postgres

Sans compilation

Ajout du dépôt :
Ajoutez les ligne suivantes dans le fichier /etc/apt/sources.list 1

deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main 9.4
deb-src http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main 9.4

Ajout de la signature numérique du dépôt :

wget -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | apt-key add -

Mise à jour des packages :

apt-get update

installation :

apt-get install postgresql-9.4 postgresql-contrib-9.4

Avec compilation

Dans cet exemple, nous allons compiler postgres avec le module SSL afin de sécuriser les échanges entre le serveur et les connexions clientes.

Prérequis : installer gcc (compris dans les build essential)

apt-get install build-essential
apt-get install postgresql-client
apt-get install libssl-dev
apt-get install libreadline6-dev
apt-get install zlib1g zlib1g-dev

(ou ajouter l’argument –without-readline pour désactiver le support readline
et –without-zlib pour désactiver le support de Zlib)

Télécharger les sources sur le site de postgresql :
http://www.postgresql.org/ftp/source/

Copiez le fichier tar.gz dans tmp (via scp par example)
Décompression et installation :

tar -xvzf postgresql-9.4.5.tar.gz
cd postgresql-9.4.5/
./configure --with-openssl
make
make install
cd contrib
make
make install

PostgreSQL doit maintenant être installé dans son dossier par défaut, à savoir /usr/local/pgsql.

Enregistrement des répertoires dans les variables d’environnement :

export PATH=$PATH:/usr/local/pgsql/bin
export LD_LIBRARY_PATH=/usr/local/pgsql/lib

En cas de problème de version d’OS :

export LD_LIBRARY_PATH="/usr/lib64"

Ajout de l’utilisateur postgres

adduser postgres

Script de démarrage:

cd /tmp/postgresql-9.4.5
cp contrib/start-scripts/linux /etc/init.d/postgresql
chmod a+x /etc/init.d/postgresql

Vérifiez les variables prefix et pgdata dans le script :

nano /etc/init.d/postgresql

Enregistrez et démarrez postgres :

update-rc.d postgresql defaults
invoke-rc.d postgresql start

Configuration de base

Commençons par modifier le mot de passe de l’utilisateur par défaut postgres

passwd postgres

Nous allons ensuite créer le dossier dans lequel seront stockées les différentes base de données. Nous prenons le cas d’une installation avec compilation, vous devez simplement modifier les chemins si vous avez installé postgres sans compilation. Les commandes sont identiques.

mkdir -p /var/local/pgsql/data
cd /var/local/pgsql/data
chown -R postgres:postgres data/
chmod -R 700 data/

Initialisation d’une instance

Nous avons donc créé un espace de stockage appelé data (notre conteneur de bases de données). Nous pourrions en créer d’autres, avec pour chacun leurs propres fichiers de configuration. Il est donc possible de créer plusieurs instances différentes de Postgres sur un même serveur de base de données (avec des ports différents).

Il existe une multitude d’arguments à la commande initdb, je vous laisse pour cela consulter la doc officielle sur le site portgresqlfr.org.


su postgres
/usr/local/pgsql/bin/initdb --encoding=UTF8 --locale=fr_FR.utf8 -D /usr/local/pgsql/data

puis démarrez le serveur :

cd /usr/local/pgsql/bin/
./pg_ctl -D /usr/local/pgsql/data start

Vous pouvez créer d’autres instances avec un initdb sur un autre répertoire que data.
(Modification du port dans le fichier postgresql.conf) voir l’article correspondant
Postgresql – créer une nouvelle instance

Notes:

  1. Pour connaître le nom de la version de votre Debian, vous pouvez utiliser la commande lsb_release -cs. Dans notre tuto, il s’agit de la version 8, nommée Jessie

Classés dans :

Cet article a été écrit par admin

Laisser un commentaire