Skip Navigation Links
Accueil
Java Standard EditionExpand Java Standard Edition
Java EE 5Expand Java EE 5
Visual Basic .Net 2005Expand Visual Basic .Net 2005
Visual C++ .Net 2005Expand Visual C++ .Net 2005
Visual C# .Net 2005Expand Visual C# .Net 2005
Cours ASP .Net 2.0Expand Cours ASP .Net 2.0
PostgresqlExpand Postgresql
LinuxExpand Linux
Visual Studio 2008Expand Visual Studio 2008
ASP 3.0 ClassiqueExpand ASP 3.0 Classique
Cours Javascript - DOM - DHTMLExpand Cours Javascript - DOM - DHTML
Cours AjaxExpand Cours Ajax
VBAExpand VBA
AssembleurExpand Assembleur
PerlExpand Perl
MembresExpand Membres
L'auteur du site
Nouveautés sur le site
Contacts
Plan du site
Accueil > Postgresql > Installation Postgre Linux
____________________________________________________________________________________________________
Connexion

POSTGRESQL - INSTALLATION

INSTALLATION POUR LINUX UBUNTU 6.06

17/11/2007 Installation pour linux ubuntu 6.06:

MERCI à commentcamarche.net, à partir duquel ce tuto est largement inspiré.

 

I) Téléchargement

- Téléchargement : Aller sur www.postgresql.org. Noter le numéro de la latest release( ici 8.2.5). Cliquer sur le lien « source », puis le premier .tar.gz qui vient : postgresql-8.2.5.tar.gz .( 14.9 Mo). Télécharger le fichier. Décompacter l’archive par exemple dans /usr/src( afin que tous les utilisateurs du système puissent y accéder).

(sudo si dans /usr/src) tar xvzf postgresql-8.2.5.tar.gz

Un dossier appelé postgresql-8.2.5 est créé(62,6 Mo). 

II) Le ./configure

 - le ./configure(obligation de le faire AVANT la compilation) :

Faire cd postgresql-8.2.5 . Puis ./configure(pas besoin de sudo) . Des librairies peuvent manquer, arrêtant ainsi le ./configure. Il m’a manqué d’abord la librairie Readline( j’ai installé le paquet libreadline5-dev par synaptic, pourtant j’avais libreadline5). Puis il m’a manqué la librairie zlib( j’ai installé zlib1g-dev, bien qu’ayant déjà zlib1g).

 

III) La compilation des source 

Puis lancer la compilation des sources par :

cd /usr/src/postgresql-8.2.5

sudo make(sudo obligatoire)( un fichier “Makefile” est présent dans notre dossier).

La compilation prend quelques minutes, avec affichage tout au long de celle-ci( des commandes gcc, etc). A la fin : « All of PostgreSQL successfully made. Ready to install. ».

 

IV) L’installation

- L’installation: taper:

sudo make install

 L’installation a lieu, avec affichages tout au long. A la fin : « PostgreSQL installation complete ».

 

IV.1) Pratique : les variables d’environnement.

Vous pouvez, pour vous simplifier la vie, incorporer dans les variables d’environnement :

  • Le chemin des exécutables :

Les exécutables, lors de l’installation par le make install, ont été installés dans /usr/local/pgsql/bin . Pour rajouter le chemin /usr/local/pgsql/bin, qui est le chemin des exécutables, vous devez ajouter ce chemin à la variable d’environnement PATH. Pour cela, vous pouvez taper :

Export PATH = $PATH: /usr/local/pgsql/bin

Ce qui a pour unique effet de rajouter notre chemin à la variable d’environnement PATH. Pour vous en convaincre, faites echo $PATH avant et après : vous vous rendez compte alors que l’unique différence est que «:/usr/local/pgsql/bin » a été rajouté au bout de votre variable PATH. Le « : » sert de séparateur aux différents PATH.

  • Autres variables :

export MANPATH = $MANPATH:/usr/local/pgsql/man

Et aussi, des variables spécifiques à postgresql:

export PGLIB=/usr/local/pgsql/lib

Se créer un dossier chez nous, par exemple “/home/jean/pgsqljean”(le data n’est pas créé par nous). Ne pas le créer dans un dossier où on n’a pas les droits, sinon initdb après rencontre des problèmes de droits(moi j’ai pas réussi en tout cas).

export PGDATA=/home/jean/pgsqljean/data

 

  • Conseil pour ne pas les redéfinir à chaque démarrage du système:

Ajouter ces lignes dans le fichier /etc/profile .

 

VI) Premier démarrage de PostgreSQL

  - Démarrage pour la première fois de PostgreSQL :

Vous devez initialiser la base de données en exécutant initdb(qui lance un script).

Vous devez avoir initialisé PGDATA pour pouvoir exécuter initdb.

 

A la fin : « Success. You can now start the database server using:

 

    postgres -D /home/sabri/pgsqlsabri/data

or

    pg_ctl -D /home/sabri/pgsqlsabri/data -l logfile start

 

“.

 

COPIE D’ECRAN du résultat de initdb:

 

sabri@sabri-desktop:~$ initdb

The files belonging to this database system will be owned by user "sabri".

This user must also own the server process.

 

The database cluster will be initialized with locale fr_FR.UTF-8.

The default database encoding has accordingly been set to UTF8.

 

creating directory /home/sabri/pgsqlsabri/data ... ok

creating subdirectories ... ok

selecting default max_connections ... 100

selecting default shared_buffers/max_fsm_pages ... 24MB/153600

creating configuration files ... ok

creating template1 database in /home/sabri/pgsqlsabri/data/base/1 ... ok

initializing pg_authid ... ok

initializing dependencies ... ok

creating system views ... ok

loading system objects' descriptions ... ok

creating conversions ... ok

setting privileges on built-in objects ... ok

creating information schema ... ok

vacuuming database template1 ... ok

copying template1 to template0 ... ok

copying template1 to postgres ... ok

 

WARNING: enabling "trust" authentication for local connections

You can change this by editing pg_hba.conf or using the -A option the

next time you run initdb.

 

Success. You can now start the database server using:

 

    postgres -D /home/sabri/pgsqlsabri/data

or

    pg_ctl -D /home/sabri/pgsqlsabri/data -l logfile start

 

sabri@sabri-desktop:~$

FIN DE LA COPIE D ’ECRAN

 

VII) Lancement du serveur de base de données

- Lancement du serveur de base de données:

 

postgres -D /home/sabri/pgsqlsabri/data : ca marche, à la fin: “LOG: database system is ready”, mais on se retrouve dans un programme, duquel on ne peut sortir que par control C. Et quand on sort : « database system is shutdown ». J’ai pas compris encore l’intérêt.

 

Par contre, avec pg_ctl -D /home/sabri/pgsqlsabri/data -l logfile start ,

Affichage de “server starting”. Et le serveur est réellement démarré, car après, nos commandes postgre sont prise en compte. Comme par exemple, dans un terminal :

$createdb jeandb

Affichage : « CREATE DATABASE »

 

VIII) Premiers pas 

- Premiers pas

 

. Pour créer une base, tout d’abord, dans un terminal :

$createdb jeandb

Affichage : « CREATE DATABASE »

 

. Pour supprimer une base, dans un terminal;

$dropdb jeandb

Affichage : « DROP DATABASE »

 

IX) L’administration de la base

   Pour accéder à une base que vous avez créée, plusieurs façons existent :

* D’abord le programme en ligne de commande de PostgreSQL, qui se nomme psql. Avec ce programme, on peut exécuter des commandes SQL.

 

*Des interfaces graphiques existent, comme PgAccess.

 

Pgaccess est disponible par le gestionnaire de paquets synaptic, sous le nom « pgaccess ». Une fois installé, pour lancer pgacces :

$pgaccess

Votre base est visible dans l’arbre à gauche, si vous en avez créé une avant de lancer pgaccess.

 

*Vous pouvez écrire votre propre interface cliente.

 

X) psql

   Le programme en ligne de commande de PostgreSQL : psql

Pour le lancer :

$psql nom_base (exemple psql jeandb)

 

Le programme démarre alors.

Aide : \h

Sortir : \q