Un numéro offert




Recherche :

PostgreSQL, manipulations base avec pgAdmin III
Bases de données

PostgreSQL est un système de gestion de bases de données relationnelles des plus intéressants, bien qu'il ne soit pas le plus populaire. Dans sa version 8.x il vient avec un client graphique, pgAdmin III, qui permet d'effectuer les opérations d'administration les plus courantes. Nous passons en revue quelques rudiments de son maniement.

1. Installation

Sous Linux, selon votre distribution, il est possible que pgAdmin III ne fasse pas partie de PostgreSQL proprement dit, mais qu'il réside dans un paquetage dédié. Si saisir dans un terminal pgAdmin3 ne donne rien, la première chose à faire est de trouver dans quel paquetage de votre distribution il réside, puis de l'installer. Sous Linux, pgAdminIII est écrit avec la librairie graphique wxWindows qui devra donc être présente sur le système. Sous Windows, pgAdminIII fait partie de la distribution. Il n'y a pas de bibliothèques graphiques particulières à installer. En revanche, il est écrit avec une philosophie à la Unix/Linux, ce qui signifie concrètement qu'il invoque de petits utilitaires. Pour que tout fonctionne bien, il faut s'assurer que le-sous répertoire bin de l'arborescence de PostgreSQL, qui contient ces utilitaires, soit bien pointé par le PATH du système.

2.

PgAdmin III permet de se connecter à des bases de données locales ou situées sur des ordinateurs distants. Dans ce dernier cas, pgAdmin III a, de toutes façons, besoin du runtime de PostgreSQL, ce qui implique que PostgreSQL doit être installé sur la machine depuis laquelle on utilise pgAdmin III, mais en revanche il n'est pas nécessaire de faire tourner le service.

Premier contact

Il est maintenant temps de lancer pgAdmin III

3.

L'illustration d'exemple montre que pgAmin III reconnaît deux serveurs et deux rôles de connexion. Au départ, votre pgAgmin III ne connaîtra probablement qu'un seul serveur, PostgreSQL Database Server en localhost, ceci à condition que le service de PostgreSQL soit actif sur la machine locale, et un rôle de connexion, postgres, qui correspond au super-utilisateur de système PostgreSQL.

Créer un serveur

L'opération se fait depuis le menu Fichier|Ajouter un serveur. Une boîte de dialogue apparaît qu'il suffit de renseigner. Par exemple:

4.

Où MonServeur est le nom qui apparaîtra dans l'arborescence de pgAdmin III et soleil est le nom sur le réseau de la machine sur laquelle résidera la base. Ce qui requiert bien évidemment, qu'un démon (Linux) ou un service (Windows) PostgreSQL tourne sur la dite machine soleil.

Créer un rôle

A partir de maintenant, toutes les opérations peuvent être effectuées avec les menus contextuels (clic droit) de l'arborescence. C'est une bonne idée de créer un rôle ayant les mêmes droits que le super-utilisateur, pour parer à un effacement accidentel de celui-ci. Un clic droit sur "Rôle de connexion" fait apparaître ce dialogue:

5.

Avec les options choisies ci-dessus, Jean possède tous les droits et son compte n'est pas limité dans le temps, puisque nous avons laissé vide le champ "le compte à expiré".

Créer une base de données

L'opération est triviale. Avec le menu contextuel de "Base de données", on accède au dialogue suivant:

6.

Nous créons donc une base de données de nom Test, dont fred est le propriétaire et dont l'encodage est LATIN1. On peut choisir n’importe quelle base de données comme modèle, la base postgres existant normalement toujours.

A ce stade, il est intéressant de remarquer que le code SQL qui a créé la base apparaît dans pgAdmin III:

7.

Il peut être pertinent de conserver ce code quelque part, au cas où la base de données devrait être recréée. Nous en parlerons plus loin. La base de données est maintenant opérationnelle. Un clic sur le bouton SQL de la barre d'outils fera apparaître une fenêtre dans laquelle vous pourrez écrire et exécuter toutes les requêtes SQL que vous voudrez.

Opération de nettoyage

Lorsqu'une base de données est fortement sollicitée, notamment lorsque des données sont fréquemment insérées et effacées des tables, de l'espace disque est gaspillé, car si les données sont effacées pour l'utilisateur, elles subsistent en général quelque part dans des fichiers. Il est bon de procéder périodiquement à un nettoyage de ces résidus. Pour cela choisir "Maintenance" dans le menu contextuel de la base qu'il s'agit de nettoyer. Un dialogue apparaît:

8.

Cochez VACUUM (pour vider), puis sélectionner toutes les options de VACUUM et validez. Tout l'espace disque sera récupéré.

Sauvegarder une base de données

Comme les autres, l'opération se fait depuis le menu contextuel de la base de données concernée:

9.

S'il est possible de sauvegarder les données en plein texte (PLAIN), seules les options de sauvegarde avec compression (COMPRESS et TAR) permettent de sauvegarder les BLOBs. Le fichier de sauvegarde, ici test.backup, aura au plus la taille maximale permise par le système de fichier du système d'exploitation. Remarque très importante: il faut TOUJOURS faire une sauvegarde de données avant de procéder à une mise à jour majeure PostgreSQL. Une mise à jour de 8.0.1 vers 8.0.2 par exemple n'est pas majeure, mais une mise à jour de 8.1 vers 8.2 le serait. Après une mise à jour majeure, les données ne sont en général plus compréhensibles par PostgreSQL. C'est pourquoi il convient en premier lieu de sauvegarder les données, ensuite de procéder à la mise à jour, puis restaurer les données.

10. Restaurer une base de données

Cela se fait toujours depuis le menu contextuel. Mais attention, l'opération récupère le contenu de la base depuis le fichier de sauvegarde, mais ne sait pas recréer la base si celle-ci a été complètement détruite. C'est là qu'il est bon de sortir du placard la petite requête SQL que nous avons conservée plus haut. Nous pouvons l'exécuter dans la fenêtre SQL pour recréer la base, après quoi l'opération de restauration pourra fonctionner.
Avant de nous quitter, signalons qu'il est possible de sauvegarder toutes les bases de données en une seule opération avec PostgreSQL, mais pas depuis pgAdmin III. Pour cela il faut ouvrir une console et utiliser la commande pg_dumpall, mais ceci est une autre histoire...

Proposer un tutoriel
Vous souhaitez partagez vos connaissances avec les membres de Programmez! Publiez vos tutoriels.

L'auteur
fredericmazue (Frédéric Mazué)

Developpeur Free Lance et Journaliste Informatique, je crois que vous me connaissez déjà un petit peu ;)



http://fmazue.is-a-geek.net

De A à Z
Programmez.com - 2013 - Tous droits réservés
Développement - WEB - ASP - PHP - C++ - Delphi - Java - Magazines - Ressources - Forum - Télécharger - Video - Emploi - Campus - .Net - Tutoriels

Le présent site Web est édité par Go 02, Sarl inscrite au RCS de Paris sous le N° 411321366 et dont le siège social est au 21 rue de Fécamp 75012 Paris.
Adresse de courrier électronique :diff@programmez.com

Le directeur de la publication du site www.programmez.com est Jean-Claude Vaudecrane en qualité de gérant de la sarl GO 02

Le portail du décideur informatique en entreprise : Solutions & Logiciels