postgresql installation et exploitation sous linux n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
PostgreSQL Installation et exploitation sous Linux PowerPoint Presentation
Download Presentation
PostgreSQL Installation et exploitation sous Linux

Loading in 2 Seconds...

play fullscreen
1 / 32

PostgreSQL Installation et exploitation sous Linux - PowerPoint PPT Presentation


  • 74 Views
  • Uploaded on

Licence Professionnelle Administrateur des Bases de données. Université Ibn Tofail Kénitra. PostgreSQL Installation et exploitation sous Linux. Réalise par : Khalid ALLILI Noureddine EL FIZAZI. Année Univérsitaire 2006 - 2007. Plan d’exposé. I - Présentation : 1 - Définition.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'PostgreSQL Installation et exploitation sous Linux' - maxine-castillo


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
postgresql installation et exploitation sous linux

Licence ProfessionnelleAdministrateur des Bases de données

Université Ibn TofailKénitra

PostgreSQLInstallation et exploitation sous Linux

Réalise par :

Khalid ALLILI Noureddine EL FIZAZI

Année Univérsitaire2006 - 2007

plan d expos
Plan d’exposé

I - Présentation :

1 - Définition.

2 - Historique.

3 - Architecture.

II - Installation :

1 - Pré-requis

2 - Super utilisateur

3 - Préparation de l’installation

4 - Compilation et installation

5 - Configuration système

6 - Initialisation

7 - Service Postgres

8 - Démarrage

III - Exploitation :

1 - Concepts de base

2 - Cas pratique

i pr sentation1
I - Présentation

1 - Définition

PostgreSQL est un SGBD objet Relationnel OpenSource, Multi-platformes.

Développé à l'université de Californie au département des sciences

informatiques de Berkeley.

Il supporte une grande partie du standard SQL :

Requêtes complexes.

Clés étrangères.

Déclencheurs (triggers).

Vues.

Intégrité des transactions.

i pr sentation2
I - Présentation

1 - Définition

PostgreSQL est extensible par l'utilisateur après l’adoption du SQL3. En ajoutant, par exemple, des :

Nouveaux types de données ;

Nouvelles fonctions ;

Nouveaux opérateurs ;

Nouvelles fonctions d'agrégat ;

Nouvelles méthodes d'indexage ;

Nouveaux langages de procédure.

i pr sentation3
I - Présentation

2 - Historique

PostgreSQL est un projet d'origine universitaire :

Université de Californie (Berkeley)

Développement 1977-1985

Le projet n'est pas libre dans les premières années :

Une première version commerciale donne naissance à Ingres (1985).

Le projet continue à Berkeley sous le nom de Postgre (Post-Ingre).

Naissance de PostgreSQL : En 1995 les étudiants apportent le support

de SQL

Le code est libre depuis en 1996.

i pr sentation4
I - Présentation

2 - Historique

Postgres95 1.0 1994-1996 : SQL (Andrew Yu, Jolly Chen)

PostgreSQL 6.0 1997-1999 : union. . . PL/pgSQL

PostgreSQL 7.0 2000 : intégrités réferentielles

PostgreSQL 7.1 2001 : jointure externe

PostgreSQL 7.4 2003 : information schéma

PostgreSQL 8.0 2004 : tablespace

PostgreSQL 8.1 2005 : Rôles

PostgreSQL 8.2 2006 : performances. . .

i pr sentation5

User Application

LIBPQ

Postmaster

Server (Postgres)

Client Host

Server Host

I - Présentation

3 - Architecture

PostgreSQL utilise un modèle client-serveur : "un processus par utilisateur".

Une session PostgreSQL consiste en plusieurs processus coopérants:

un processus démon superviseur (postmaster)

L'application utilisateur (p.ex. le programme PSQL, PGAdmin3)

le serveur de base de données (processus Postgres)

i pr sentation6

User Application

LIBPQ

Postmaster

Server (Postgres)

Client Host

Server Host

I - Présentation

3 - Architecture

Les applications Client qui veulent accéder à la base de données font appel

à la librairie.

Cette librairie envoie la requête de l'utilisateur à travers le réseau vers le

Postmaster.

Le Postmaster démarre un nouveau processus serveur (un processus par

utilisateur) et connecte ce processus au processus de l'application client.

A partir de ce moment, les processus client et Serveur communiquent sans

intervention du Postmaster.

ii installation1
II - Installation

1 - Pré-requis

La version utilisée est : postgresql-8.2.3

Téléchargement : ftp://ftp.fr.postgresql.org/source/v8.2.3/

Il existe diffères types d'installation (code source, rpm, deb, mdk …)

L’utilité de l'installation à partir des codes sources réside dans le fait quelle

marche dans les différentes distributions et de bien contrôler les

paramètres de l'installation.

Chemins :

Répertoire contenant les sources : /opt/sources/

Repertoire d'instalation : /usr/local/ (par défaut)

Vous pouvez utiliser le chemin que vous voulez.

ii installation2

Préparation

Compilation

Installation

II - Installation

1 - Pré-requis

Étapes d’installation :

Des erreurs peuvent être engendré pendant la préparation et la compilation, en raison des dépendance des bibliothèques.

gcc / g++ : Compilateur C de GNU

libreadline : bibliothèque qui permet d’avoir accès à l’historique de

requête dans le moniteur interactif psql.

zlib : bibiothèque nécessaire pour la création d’archives lors de la

sauvegardes de bases de données en archive tar ou compressées.

Il faut se loger en « root » pour avoir le droitd’installer des programmes.

ii installation3
II - Installation

2 - Super utilisateur

Pourqoui le super utilisateur :

Pour des raisons de sécurité, il est conseillé de créer un

utilisateur «  postgres  », pour évité tout menace tel que

les attaques des requêtes de type "SQL injection" par le

réseauou par unemauvaise utilisation d’un simple

utilisateur.

La création de super utilisateur :

$> sudo adduser postgres

ii installation4
II - Installation

3 - Préparation de l’installation

La créationd’un répertoire dans la racine /opt :

$> sudo mkdir /opt/sources

Copier le fichiercompressé :

$> sudo cp postgresql-8.2.3.tar.gz /opt/sources/

La décompression :

$> cd /opt/sources/

$> tar -zxvf postgresql-8.2.3.tar.gz

z : compresser/décompresser les fichiersàtravers le gzip.

x : extraire les fichiers de l’archive.

v : permet d'obtenir une description des fichiers désarchivés.

f : pour désigner l'archive contenant les fichiers (paramètre) .

ii installation5
II - Installation

3 - Préparation de l’installation

Lance la configuration :

$> ./configure

Pour plus d’informationtapez :

$> ./configure - - help

Télécharger les bibliothèquenécessaire :

$> sudo aptitude install g++

$> sudo aptitude install libreadline5-dev

$> sudo aptitude install zlibc

$> sudo aptitude install zlibg-dev

Ou bien :

$> sudo aptitude install g++ libreadline5-dev zlibc zlibg-dev

ii installation6
II - Installation

4 - Compilation et installation

Pour compiler :

$> make

Pour voir les erreurs :

$> sudo make - - check

Pour lance l’installation :

$> sudo make install

Postgres sera installer dans le répertoire :

/usr/local/pgsql/

/usr/local/pgsql/bin/ : contient les fichiersbinaires (commandes)

/usr/local/pgsql/lib/ : contient les bibliothèques de Postgres

ii installation7
II - Installation

5 - Configuration système

Configuration des variables d’environnements :

$> gedit /etc/profile

Ajouter les lignes suivantes :

# Chemin des bibliothèquePostgres

export LD_LIBRARY_PATH=/usr/local/pgsql/lib

# Chemin des commandes Postgres

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

Pour vérifier : Se connecterentendqueutilisateur « postgres »:

$> su – postgres

Password :

$> env | grep PATH=

ii installation8
II - Installation

6 - Initialisation

Donner les droits aux utilisateurs :

$> sudo chmod o+rw /usr/local/pgsql/

Créer le répertoire qui va contenir les bases de données (culster) :

$> sudo mkdir /usr/local/pgsql/data

Puisque l’utilisateur « postgres »est le super utilisateurdu PostgreSQL,

alors il doit être le propriétaire de /usr/local/pgsql/data/:

$> sudo chown postgres /usr/local/pgsql/data -R

ii installation9
II - Installation

6 - Initialisation

Initialisation PostgreSQL :

$> su - postgres

Password :

$> initdb -D /usr/local/pgsql/data -A md5 -W

-A md5 : Pour crypter les mots de passe en md5.

- W : Assigner un mot de passe au super-utilisateur. Sans cela,

tous les utilisateurs locaux peuvent avoir accès au serveur

sans sécurité.

Pour ne pas écrire a chaque fois -D, éditer le profile de l’utilisateur «postgres»:

$> gedit ~/.bash_profile

Ajouter la nouvelle variable d’environnement PGDATA dans le profile :

export PGDATA= /usr/local/pgsql/data

ii installation10
II - Installation

7 - Service Postgres

Le répertoire /opt/sources/postgresql-8.2.3/ contient les scripts de

démarrage pour différentes plateformes .

Rendre Postgres un service pour une machine linux :

$> sudo cp /opt/sources/postgresql-8.2.3/contrib/start-scripts/linux /etc/init.d/postgres

Mise à jour de la liste des services :

$> sudo update-rc.d postgres defaults

Démarrer postgreSQL :

$> sudo /etc/init.d/postgres start

$> sudo /etc/init.d/postgres start

ii installation11
II - Installation

8 - Démarrage

Démarrer postgreSQL :

$> sudo /etc/init.d/postgres start

Arrêter postgreSQL:

$> sudo /etc/init.d/postgres stop

Redémarrer postgreSQL :

$> sudo /etc/init.d/postgres restart

Recharger les paramètres postgreSQL :

$> sudo /etc/init.d/postgres reload

ii installation12
II - Installation

8 - Démarrage

Démarrer postgreSQL :

$> pg_ctlstart

Arrêter postgreSQL:

$> pg_ctlstop

Redémarrer postgreSQL :

$> pg_ctlrestart

Recharger les paramètres postgreSQL :

$> pg_ctlreload

iii exploitation1
III - Exploitation

1 - Concepts de base

Lors de l'initialisation du "cluster" de base de données, deux bases sont

créées : template1 et template0.

Lors de la création d'une base, c'est template1 qui est copiée par défaut,

toute modification de template1 est donc répercutée sur les nouvelles

bases de données.

Template0 est une base modèle qui ne doit pas être modifiée, elle contient

des objets prédéfinis selon la version de PostgreSQL.

Pour se connecte au serveur :

$> psql -U postgres

$> psql -U postgres template1

iii exploitation2
III - Exploitation

1 - Concepts de base

PostgreSQL vient avec plusieurs langages côté serveur qui permettent

d'écrire des procédures stockées. Pour cela il faut les installer.

Le langage propre à PostgreSQL s'appelle PL/PGSQL.

Il faut installer PL/PGSQL sur template1, afin que toutes les bases en

disposent.

On ajoute le langage grâce à la commande shell suivante :

$> createlang plpgsql template1

la commande pour créer une base de données à partir d’une template est :

$> create database ma_base template template_base;

iii exploitation3
III - Exploitation

1 - Concepts de base

Création d'une base de données en mode non connecter :

$> createdb ma_base -U postgres

Création d'une base de données en mode connecter :

Postgres#> create database ma_base

Suppression d'une base de données en mode non connecter :

$> dropdb ma_base -U postgres

Suppression d'une base de données en mode non connecter :

Postgres#> drop database ma_base

iii exploitation4
III - Exploitation

1 - Concepts de base

Exemple des quelques commandes sous psql :

Pour changer la base courante :

Postgres#>\c ma_base

Exemple de requête :

Postgres#> SELECT version();

Postgres#> SELECTcurrent_database();

Postgres#> SELECTcurrent_user();

Postgres#> SELECT user();

iii exploitation5
III - Exploitation

2 - Cas Pratique :

Un hôpital désire gérer, pour chaque patient, les informations suivantes :

Nom, Prénom

Adresse (numéro, rue et ville)

Matricule, CIN, CNSS

Date naissance

Dossier médical (un chemin pour le dossier électronique)

Par ailleurs l’hôpital tient à jour la liste des médecins qu’il a déjà

enregistrés, qui comprend pour chaque médecin :

Nom, Prénom

Adresse (numéro, rue et ville)

Code

Spécialité

Téléphone

iii exploitation6
III - Exploitation

2 – Cas Pratique :

Diagramme de classe :

iii exploitation7
III - Exploitation

2 - Cas Pratique :

Travail demandé :

Créer une base de données appelée «hopital»

Créer le type «identité» qui comprend : le nom et le prénom

Créer le type «adresse» identifié par : numéro, rue, ville

Créer la table «personne» qui contient les attributs suivants :

id de type identité

adr de type adresse

Créer la table «médecin» qui hérite de la table personne.

Créer la table «patient» qui hérite de la table personne.

Insérer des données afin d’exploiter la base de données.

iii exploitation8
III - Exploitation

2 - Cas Pratique :

Travail demandé :

Lister l’identité et l’adresse de tout les Patients et les médecins

Lister les patients qui habitent Casablanca et leurs médecins.

Lister les patients qui ont consulté un médecin de leur ville

Créer la fonction «Afficher» qui a comme paramètre une identité

et qui l’affiche sous forme «Nom Prénom».

Créer la fonction «Afficher» qui a comme paramètre une adresse

et qui l’affiche sous forme « N° …, rue, ville ». (Surcharge de la

fonction Afficher) .

Lister les patients et les médecins avec la nouvelle forme (utiliser

les fonctions) .

iii exploitation9
III - Exploitation

2 - Cas Pratique :

Travail demandé :

Changer l'adresse du médecin de code16.

Changer juste la rue du médecin de code 17

Créer la fonction «Listerpatient» qui a comme paramètre un

entier et qui permet d’afficher les nom et prénom des patients

qui ont vu un médecin donné.

Donner un exemple d’utilisation de la fonction «Listerpatient»

Sauvegarder la base de données «hopital».

Créer une nouvelle base de données nommée «backhopital» et

restaurer la sauvegarde de la base «hopital» dans la nouvelle

base de données.