Installer & Configurer PostgreSQL sur Debian

On trouve beaucoup moins de documentations sur Internet pour installer PostgreSQL que MySQL. C’est pourquoi, j’ai penser que faire un petit “How to” pouvais être intéressant. Ici, nous allons installer la version 8.3.3.

Pré-installation

Avant de commencer à télécharger les sources, nous allons installer différents packets neccessaires à l’installation de postgreSQL.

apt-get install libreadline5 libreadline5-dev gettext

Téléchargement des sources

Avant tout, nous allons télécharger les sources de postgresql dans un répertoire dédié.

cd ~
mkdir postgresql
cd postgresql
wget http://sources.mes-stats.fr/postgresql/postgresql-8.3.3.tar.gz

Une fois l’archive télécharger, il nous faut la décompresser :

gunzip postgresql-8.3.3.tar.gz
tar xf postgresql-8.3.3.tar

Avant de continuer la procédure d’installation, nous allons aller dans le nouveau répertoire produit par la décompression de l’archive précédemment téléchargée :

cd ./postgresql-8.3.3

Configuration et compilation

Nous allons commencer par configurer la compilation de postgresql grâce à ./configure. Cette commande peut être agrémentée par de nombreux paramètres.

Note: Avec les versions plus récentes de PostgreSQL, il se peux que vous ayez des erreurs concernant des librairies manquantes. Voir en bas de la page quels paquets installer.

Une fois la configuration éffectuée, nous allons pouvoir lancer la compilation :

Cette opération peut prendre plusieurs minutes. Lorsque tout est fini, la dernière ligne doit être :

“All of PostgreSQL successfully made. Ready to install.”

Comme nous le dit le compilateur, nous somme prêts à installer PostgreSQL.

Installation

Attention: Pour cette étape, vous avez besoin d’être superutilisateur (root ou utilisation de “sudo”)
Pour installer, rien de plus simple, saisissez cette commande :

Cette opération est beaucoup moins longue que la précédente et si tout se passe bien, elle doit finir par :

“PostgreSQL installation complete.”

Pour nétoyer les fichiers issus de la configuration et de la compilation, vous pouvez faire :

Installation – Deuxième étape

Une fois l’installation à partir des sources faite, il faut effectuer plusieurs actions afin que votre base de données soit opérationnelle.

Ajout d’un utilisateur

Pour que la base de donnée soit démarrer correctement, il lui faut un utilisateur spécial ayant des droits mais pas trop (l’utilisateur root ne marche pas pour des questions de sécurité). Nous allons donc créer l’utilisateur “postgres” :

Création de répertoire contenant les données

Avant d’initier la base de données, il faut créer le répertoire et donner les droits d’écriture à l’utilisateur “postgres” sur le dossier où nous allons stocker les données :

Initialisation de la base de données

Nous allons maintenant exécuter le script qui permet de “mettre en route” notre base de données en tant que postgres :

Une fois en tant qu’utilisateur “postgres”, nous allons initialiser la base :

Configuration du fichier de log et démarrage du serveur

Nous allons créer un fichier de log dans le répertoire “/var/log” afin que postgresql puisse écrire ses logs dans ce fichier. Pour cela, reprenez les droits de superutilisateur et faites ceci :

Ensuite, nous allons démarrer le serveur. Logguez-vous en tant que “postgres” et faites :

Le serveur démarre.

En faire un service

Maintenant, nous allons simplement mettre postgreSQL en service. C’est-à-dire qu’il démarrera automatiquement à chaque démarrage et sera accessible dans “/etc/init.d/”.
Pour celà, nous allons utiliser le script de démarrage fourni dans les sources :

Nous allons éditer le script de démarrage pour lui fournir les informations concernant postgreSQL :

Dans ce fichier, il faut modifier ces quelques lignes :

Changez ces lignes afin de mettre les valeurs appropriées. Une fois fermé et enregistré, nous allons copier se fichier (en tant que superutilisateur) et ajouter les droits d’exécution au propriétaire (ici, le propriétaire sera “root”) :

Toujours en superutilisateur, nous allons mettre à jour les scripts de démarrage en ajoutant postgresql :

PostgreSQL est maintenant un service du système. Vous pouvez le re-démarrer, l’arrêter, le démarrer et obtenir son statut en exécutant cette commande :

Raccourcis d’éxécution

Nous allons “dire” au système qu’il y a un nouveau répertoire qui contient de nouveau fichiers exécutables :

Nous allons remplacer la ligne suivante :

Par celle-ci :

Création du premier utilisateur et de la première base de donnée

A ce stade, seul l’utilisateur “postgres” existe dans la base de données, nous allons donc nous connecter à la base de données pour mettre en place de nouveaux utilisateurs et créer des bases de données :

Note: Si le système vous renvoi une erreur du type “bash: psql: command not found”, remplacez “psql” par “/usr/local/pgsql/bin/psql”.

Si tout s’est bien passé, vous devriez avoir quelque chose comme ça :

Bienvenue dans psql 8.3.3, l’interface interactive de PostgreSQL.

Saisissez:
copyright pour les termes de distribution
h pour l’aide-mémoire des commandes SQL
? pour l’aide-mémoire des commandes psql
g ou point-virgule en fin d’instruction pour exécuter la requête
q pour quitter

template1=#

Pour créer un nouvel utilisateur, exécutez la requête SQL suivante :

CREATE USER “nouvel-utilisateur” WITH PASSWORD ‘motdepasse';

Cette requête créera un (simple) nouvel utilisateur “nouvel-utilisateur” avec le mot de passe “motdepasse”.

CREATE USER “nouvel-utilisateur” WITH PASSWORD ‘motdepasse’ CREATEUSER CREATEDB;

Cette requête créera un super-utilisateur “nouvel-utilisateur” avec le mot de passe “motdepasse” qui pourra créer de nouveaux utilisateurs et de nouvelles bases de données.

Pour créer une nouvelle base de donnée, exécutez la requête SQL suivante :

CREATE DATABASE “mabase” OWNER “utilsateur”;

Cette requête créera une nouvelle base de donnée “mabase” où l’utilisateur “utilisateur” sera le super-utilisateur de la base de données.

A partir de maintenant, vous pouvez accéder à vos bases de données à partir de phpPgAdmin par exemple avec le nouvel utilisateur.
Note: La connexion à la base de donnée est inaccessible (par défaut) aux utilisateurs sans mots de passes depuis phpPgAdmin.



Librairies manquantes

  • Il vous manque readline, installez libreadline5-dev
  • Il vous manque zlib, installez zlib1g-dev
  • Il vous manque msgfmt, installez gettext
facebooktwittergoogle_plusredditpinterestlinkedinmail

One thought on “Installer & Configurer PostgreSQL sur Debian”

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">