PostgreSQL

Connectez-vous en tant que root.

1 Préparation de la configuration

Installez les packages correspondant à PostgreSQL et à PHP s'ils ne sont pas déjà installés.

2 Configuration de Postgres

2.1 Postgres est installé. Le script de lancement est dans "/etc/init.d"

Editez ce script et  relevez l'emplacement où sont stockées les bases de données.

Recherchez le port et les protocoles de transports utilisés par PostgreSQL avec la commande "grep postgres /etc/services"

Vérifiez que le fichier "/etc/postgresql/postmaster.conf" comporte bien la ligne "POSTMASTER_OPTIONS="-i -p 5432". Cela permet de définir le numéro de port, et d'inquer à PostgreSQL de supporter les sessions sockets (-i).

Vous allez configurer les options de sécurité permettant au serveur de recevoir des requêtes. Ouvrez le fichier "/var/lib/postgres/data/pg_hba.conf". Recherchez les lignes ci-dessous :


# Put your actual configuration here

# ----------------------------------

host         all         127.0.0.1     255.0.0.0           ident sameuser

host         all         0.0.0.0       0.0.0.0             reject

Modifiez ces lignes après avoir fait une copie de sauvegarde de ce fichier, de la façon suivante :


host         all         127.0.0.1     255.0.0.0           trust

host         all         x.y.z.t       x'.y'.z'.t'         trust



Vous adapterez "x.y.z.t" à l'adresse de votre réseau et "x'.y'.z'.t'" au masque de votre réseau.

2.2 Il s'agit maintenant d'activer le service. Utilisez les commandes :

/etc/init.d/postgresql stop

/etc/init.d/postgresql start

Vérifiez le chargement de postgres dans la table des processus : "ps aux | grep post"

Vérifiez dans les journaux les messages d'erreurs si le serveur ne démarre pas.

Vérifiez également :

- qu' un service n'est pas déjà actif,

- que les variables sont bien déclarées. En général les messages de Postgres sont assez clairs et donnent la marche à suivre pour corriger. N'allez pas plus loin tant que tout cela ne fonctionne pas parfaitement.

3 Tester la configuration

La procédure précédente à créé un modèle de base de données "template1", qui sert de modèle pour la création d'autres bases, et a créé un compte d'administrateur de base de données "Postgres". Toujours en mode commande et en tant qu'utilisateur postgres (su postgres), vous allez utiliser la commande suivante :

psql template1

Attention, il n'y a qu'un seul compte de base de données, celui de l'administrateur "postgres". Vous allez ouvrir une session sous le compte "root" puis passer sous le compte "postgres" avec la commande "su postgres".

Vous devriez obtenir ceci :


# su postgres

sh-2.05b$ psql template1

Welcome to psql, the PostgreSQL interactive terminal.



Type:  \copyright for distribution terms

       \h for help with SQL commands

       \? for help on internal slash commands

       \g or terminate with semicolon to execute query

       \q to quit


template1=#

Le caractère "=>" est le prompt du mode commande. Vous pouvez désormais taper des commandes.

Retenez "\q" pour quitter.

Pour avoir de l'aide sur l'interpréteur de postgres : template1=> \?

Pour avoir de l'aide sur les commandes SQL : template1=> \h

Si l'aide s'affiche, c'est que tout fonctionne. Par contre vous ne pouvez pas faire grand chose, la base et vide. Vous pouvez le vérifier avec la commande "\dt".

template1=>\dt

Couldn't find any tables!

template1=\q

Tout autre message, signifie qu'il y a un problème de configuration. Si c'est le cas vérifiez soigneusement tous les paramètres.

4 Conclusion

Votre environnement fonctionne et est bien configuré. La prochaine étape consiste à se familiariser avec les premières commandes d'administration et d'utilisation.